-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathmigrate
More file actions
executable file
·144 lines (108 loc) · 4.44 KB
/
migrate
File metadata and controls
executable file
·144 lines (108 loc) · 4.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
#!/usr/bin/env bash
echo "Updating IDEA configuration"
cp -R .idea ..
echo "Updating Contributor's Guide"
cp CONTRIBUTING.md ..
echo "Updating Contributor Covenant"
cp CODE_OF_CONDUCT.md ..
echo "Updating Codecov settings"
cp .codecov.yml ..
echo "Updating \\\`AGENTS.md\\\`"
cp AGENTS.md ..
echo "Updating \\\`CLAUDE.md\\\`"
cp CLAUDE.md ..
echo "Updating Junie guidelines"
rm -rf ../.junie
if [ -d ".junie" ]; then
cp -R .junie ..
fi
echo "Updating \\\`.agents\\\` directory"
rm -rf ../.agents
if [ -d ".agents" ]; then
cp -R .agents ..
fi
# Copies the file or directory passed as the first parameter to the upper directory,
# only if such a file or directory does not exist there.
function initialize() {
if [ ! -e ../"$1" ]; then
echo "Creating $1"
cp -R "$1" ..
fi
}
initialize .gitattributes
initialize .gitignore
initialize .github
# Update existing workflows with more recent versions
echo "Updating GitHub workflows"
cp -a .github-workflows/. ../.github/workflows
cp -a .github/workflows/. ../.github/workflows
rm -f ../.github/workflows/detekt-code-analysis.yml # This one is `config`-only workflow.
# 2025-11-20 Remove renamed `Runtime.kt` file.
rm -f ../buildSrc/src/main/kotlin/io/spine/gradle/Runtime.kt
# 2025-11-17 Remove old Dokka configuration scripts.
rm -f ../buildSrc/src/main/kotlin/dokka-for-kotlin.gradle.kts
rm -f ../buildSrc/src/main/kotlin/dokka-for-java.gradle.kts
# 2025-11-17 Remove duplicated Dokka-related extensions.
rm -r ../buildSrc/src/main/kotlin/io/spine/gradle/dokka/
# 2025-11-11 Remove the older `detekt-analysis.yml` workflow.
# See: https://github.com/SpineEventEngine/config/issues/434
rm -f ../.github/workflows/detekt-analysis.yml
# 2025-10-28 Remove `ArtifactVersion.kt` and `Text.kt`.
rm -f ../buildSrc/src/main/kotlin/io/spine/dependency/local/ArtifactVersion.kt
rm -f ../buildSrc/src/main/kotlin/io/spine/dependency/local/Text.kt
# 2025-10-28 Remove `compile-protobuf.gradle.kts`.
# It no longer needed because we have `io.spine.protobuf-setup` plugin instead.
rm -f ../buildSrc/src/main/kotlin/compile-protobuf.gradle.kts
# 2025-10-27 Remove `VersionWriter.kt` and `ProtoTaskExtensions.kt`
rm -f ../buildSrc/src/main/kotlin/io/spine/gradle/VersionWriter.kt
rm -f ../buildSrc/src/main/kotlin/io/spine/gradle/protobuf/ProtoTaskExtensions.kt
# 2025-10-01 Remove renamed `CoreJava.kt`
rm -f ../buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJava.kt
# 2025-05-02 Remove the refactored file.
rm -f ../buildSrc/src/main/kotlin/io/spine/gradle/javadoc/TaskContainerExtensions.kt
# 2025-04-25 Remove the refactored files moved to subpackages
rm -f ../buildSrc/src/main/kotlin/io/spine/gradle/Repositories.kt
rm -f ../buildSrc/src/main/kotlin/io/spine/gradle/RepoSlug.kt
# 2025-04-22 Remove the refactored file to avoid "duplicated declarations" error.
rm -f ../buildSrc/src/main/kotlin/io/spine/gradle/publish/Publications.kt
# 2025-04-16 — Overwrite `gradle.properties` to support Dokka transition mode.
cp -a gradle.properties ..
# 2025-04-16 — Overwrite `.gitignore` to propagate recent changes
cp -a .gitignore ..
# 2024-10-28
echo "Removing old packages under \\\`buildSrc/src/main/kotlin/\\\`"
rm -r ../buildSrc/src/main/kotlin/io/spine/internal/
# 2023-07-12, remove outdated files.
rm -f ../buildSrc/src/main/kotlin/java-module.gradle.kts
rm -f ../buildSrc/src/main/kotlin/kotlin-jvm-module.gradle.kts
rm -f ../buildSrc/src/main/kotlin/jacoco-kmm-jvm.gradle.kts
rm -f ../buildSrc/src/main/kotlin/io/spine/internal/gradle/DependencyResolution.kt
rm -f ../buildSrc/src/main/kotlin/Repositories.kt
# 2023-07-30, remove outdated files.
rm -f ../.lift.toml
# 2023-11-24, remove `license-report.md` in favor of `dependencies.md`
# See `config#498` for more.
rm -f ../license-report.md
echo "Updating Gradle \\\`buildSrc\\\`"
# Preserve an existing project's `module.gradle.kts` (do not overwrite it).
DEST_MODULE="../buildSrc/src/main/kotlin/module.gradle.kts"
PRESERVE_TMP=""
if [ -f "$DEST_MODULE" ]; then
echo "Preserving existing \\\`module.gradle.kts\\\`"
PRESERVE_TMP=$(mktemp)
cp -a "$DEST_MODULE" "$PRESERVE_TMP"
fi
cp -R buildSrc ..
# Restore preserved `module.gradle.kts`, if any.
if [ -n "$PRESERVE_TMP" ] && [ -f "$PRESERVE_TMP" ]; then
echo "Restoring existing \\\`module.gradle.kts\\\`"
cp -a "$PRESERVE_TMP" "$DEST_MODULE"
rm -f "$PRESERVE_TMP"
fi
echo "Updating Gradle Wrapper"
cp -R ./gradle ..
cp gradlew ..
cp gradlew.bat ..
cd ..
echo "Adding \\\`buildSrc\\\` sources to Git..."
git add ./buildSrc/src