Skip to content

Commit

Permalink
Merge branch 'master' into issue/2711
Browse files Browse the repository at this point in the history
  • Loading branch information
nvoxland committed Jul 27, 2022
2 parents 0f86ac3 + 28631d9 commit b644c8f
Show file tree
Hide file tree
Showing 158 changed files with 3,194 additions and 1,209 deletions.
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
@@ -0,0 +1 @@
* @nvoxland
23 changes: 13 additions & 10 deletions .github/util/re-version.sh
Expand Up @@ -43,22 +43,22 @@ mkdir -p $outdir
(cd $scriptDir && javac ManifestReversion.java)

#### Update jars
declare -a jars=("liquibase-0-SNAPSHOT.jar" "liquibase-0-SNAPSHOT-sources.jar" "liquibase-cdi-0-SNAPSHOT.jar" "liquibase-cdi-0-SNAPSHOT-sources.jar" "liquibase-maven-plugin-0-SNAPSHOT.jar" "liquibase-maven-plugin-0-SNAPSHOT-sources.jar")
declare -a jars=("liquibase-core-0-SNAPSHOT.jar" "liquibase-core-0-SNAPSHOT-sources.jar" "liquibase-commercial-0-SNAPSHOT.jar" "liquibase-cdi-0-SNAPSHOT.jar" "liquibase-cdi-0-SNAPSHOT-sources.jar" "liquibase-maven-plugin-0-SNAPSHOT.jar" "liquibase-maven-plugin-0-SNAPSHOT-sources.jar")

for jar in "${jars[@]}"
do
## MANIFEST.MF settings
unzip -q $workdir/$jar META-INF/* -d $workdir

java -cp $scriptDir ManifestReversion $workdir/META-INF/MANIFEST.MF $version
find $workdir/META-INF -name pom.xml -exec sed -i -e "s/<version>0-SNAPSHOT<\/version>/<version>$version<\/version>/" {} \;
find $workdir/META-INF -name pom.properties -exec sed -i -e "s/0-SNAPSHOT/$version/" {} \;
find $workdir/META-INF -name plugin*.xml -exec sed -i -e "s/<version>0-SNAPSHOT<\/version>/<version>$version<\/version>/" {} \;
find $workdir/META-INF -name pom.xml -exec sed -i -e "s/<version>0-SNAPSHOT<\/version>/<version>$version<\/version>/g" {} \;
find $workdir/META-INF -name pom.properties -exec sed -i -e "s/0-SNAPSHOT/$version/g" {} \;
find $workdir/META-INF -name plugin*.xml -exec sed -i -e "s/<version>0-SNAPSHOT<\/version>/<version>$version<\/version>/g" {} \;
(cd $workdir && jar -uMf $jar META-INF)
rm -rf $workdir/META-INF

## Fix up liquibase.build.properties
if [ $jar == "liquibase-0-SNAPSHOT.jar" ]; then
if [[ $jar == "liquibase-core-0-SNAPSHOT.jar" || $jar == "liquibase-commercial-0-SNAPSHOT.jar" ]]; then
unzip -q $workdir/$jar liquibase.build.properties -d $workdir
sed -i -e "s/build.version=.*/build.version=$version/" $workdir/liquibase.build.properties
(cd $workdir && jar -uf $jar liquibase.build.properties)
Expand All @@ -79,15 +79,15 @@ do
done

#### Update javadoc jars
declare -a javadocJars=("liquibase-0-SNAPSHOT-javadoc.jar" "liquibase-cdi-0-SNAPSHOT-javadoc.jar" "liquibase-maven-plugin-0-SNAPSHOT-javadoc.jar")
declare -a javadocJars=("liquibase-core-0-SNAPSHOT-javadoc.jar" "liquibase-cdi-0-SNAPSHOT-javadoc.jar" "liquibase-maven-plugin-0-SNAPSHOT-javadoc.jar")

for jar in "${javadocJars[@]}"
do
mkdir $workdir/rebuild
unzip -q $workdir/$jar -d $workdir/rebuild

find $workdir/rebuild -name "*.html" -exec sed -i -e "s/0-SNAPSHOT/$version/" {} \;
find $workdir/rebuild -name "*.xml" -exec sed -i -e "s/<version>0-SNAPSHOT<\/version>/<version>$version<\/version>/" {} \;
find $workdir/rebuild -name "*.html" -exec sed -i -e "s/0-SNAPSHOT/$version/g" {} \;
find $workdir/rebuild -name "*.xml" -exec sed -i -e "s/<version>0-SNAPSHOT<\/version>/<version>$version<\/version>/g" {} \;

(cd $workdir/rebuild && jar -uf ../$jar *)
rm -rf $workdir/rebuild
Expand Down Expand Up @@ -132,12 +132,15 @@ done


##### update zip/tar files
cp $outdir/liquibase-$version.jar $workdir/liquibase.jar ##save versioned jar as unversioned to include in zip/tar
mkdir -p $workdir/internal/lib
cp $outdir/liquibase-core-$version.jar $workdir/internal/lib/liquibase-core.jar ##save versioned jar as unversioned to include in zip/tar
cp $outdir/liquibase-commercial-$version.jar $workdir/internal/lib/liquibase-commercial.jar ##save versioned jar as unversioned to include in zip/tar

## Extract tar.gz and rebuild it back into the tar.gz and zip
mkdir $workdir/tgz-repackage
(cd $workdir/tgz-repackage && tar -xzf $workdir/liquibase-0-SNAPSHOT.tar.gz)
cp $workdir/liquibase.jar $workdir/tgz-repackage/liquibase.jar
cp $workdir/internal/lib/liquibase-core.jar $workdir/tgz-repackage/internal/lib/liquibase-core.jar
cp $workdir/internal/lib/liquibase-commercial.jar $workdir/tgz-repackage/internal/lib/liquibase-commercial.jar
find $workdir/tgz-repackage -name "*.txt" -exec sed -i -e "s/0-SNAPSHOT/$version/" {} \;
(cd $workdir/tgz-repackage && tar -czf $outdir/liquibase-$version.tar.gz *)
(cd $workdir/tgz-repackage && zip -qr $outdir/liquibase-$version.zip *)
43 changes: 28 additions & 15 deletions .github/workflows/build.yml
Expand Up @@ -164,7 +164,7 @@ jobs:
ref: ${{ github.event.pull_request.head.sha || github.event.after}}
- name: Built Code Cache
if: ${{ matrix.java == 8}}
uses: actions/cache@v3.0.4
uses: actions/cache@v3.0.5
with:
key: built-code-${{ github.run_number }}-${{ github.run_attempt }}
path: ./**/target
Expand Down Expand Up @@ -216,7 +216,7 @@ jobs:
distribution: 'adopt'
cache: 'maven'
- name: Cache SonarCloud packages
uses: actions/cache@v3.0.4
uses: actions/cache@v3.0.5
with:
path: ~/.sonar/cache
key: ${{ runner.os }}-sonar
Expand Down Expand Up @@ -264,7 +264,7 @@ jobs:
distribution: 'temurin'
cache: 'maven'
- name: Restore Built Code Cache
uses: actions/cache@v3.0.4
uses: actions/cache@v3.0.5
with:
key: built-code-${{ github.run_number }}-${{ github.run_attempt }}
path: ./**/target
Expand Down Expand Up @@ -297,14 +297,14 @@ jobs:
ref: ${{ github.event.pull_request.head.sha || github.event.after}}

- name: Built Code Cache
uses: actions/cache@v3.0.4
uses: actions/cache@v3.0.5
with:
key: built-code-${{ github.run_number }}-${{ github.run_attempt }}
path: ./**/target

##Cache based on install4j file, since changes to JVM is seen in there. If install4j version changes without changing the file, change the prefix letter before hashFiles to force a new cache
- name: Install4j Cache
uses: actions/cache@v3.0.4
uses: actions/cache@v3.0.5
with:
key: install4j-A${{ hashFiles('liquibase-dist/src/main/install4j/liquibase.install4j') }}
path: ~/.install4j8/**
Expand All @@ -320,22 +320,22 @@ jobs:
env:
GPG_PASSWORD: ${{ secrets.GPG_PASSPHRASE }}

- name: Download liquibase-pro
- name: Download liquibase-commercial
uses: liquibase/action-download-artifact@v2-liquibase
with:
github_token: ${{ secrets.BOT_TOKEN }}
workflow: build.yml
workflow_conclusion: success
branch: "${{ needs.setup.outputs.proBranchName }}"
name: liquibase-pro-modules
path: download/liquibase-pro
name: liquibase-commercial-modules
path: download/liquibase-commercial
repo: liquibase/liquibase-pro

- name: Install Built Modules
run: |
(find . -name *-SNAPSHOT.jar -exec mvn -B org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install-file -Dfile={} \;)
(find . -name *-SNAPSHOT-sources.jar -exec mvn -B org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install-file -Dclassifier=sources -Dfile={} \;)
mvn -B org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install-file -Dfile=download/liquibase-pro/liquibase-pro-0-SNAPSHOT.jar
mvn -B org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install-file -Dfile=download/liquibase-commercial/liquibase-commercial-0-SNAPSHOT.jar
- name: Build & Sign Artifacts
env:
Expand All @@ -355,7 +355,7 @@ jobs:
echo "Saving windows key"
echo "$INSTALL4J_WINDOWS_KEY" | base64 -d > liquibase-dist/target/keys/datical_windows.pfx
mvn -B -pl liquibase-dist -P liquibase-pro source:jar package
mvn -B -pl liquibase-dist -P liquibase-commercial source:jar package
## extract tar content for other artifacts
mkdir -p liquibase-dist/target/liquibase-0-SNAPSHOT
Expand All @@ -372,8 +372,11 @@ jobs:
mkdir -p artifacts
cp liquibase-dist/target/liquibase-0-SNAPSHOT.tar.gz artifacts
cp liquibase-dist/target/liquibase-0-SNAPSHOT.zip artifacts
cp liquibase-dist/target/liquibase-0-SNAPSHOT.jar artifacts
cp liquibase-dist/target/liquibase-0-SNAPSHOT-sources.jar artifacts
cp liquibase-dist/target/liquibase-0-SNAPSHOT.jar artifacts/liquibase-core-0-SNAPSHOT.jar
cp liquibase-dist/target/liquibase-0-SNAPSHOT-sources.jar artifacts/liquibase-core-0-SNAPSHOT-sources.jar
cp target/liquibase-0-SNAPSHOT-javadoc.jar artifacts/liquibase-core-0-SNAPSHOT-javadoc.jar
cp liquibase-dist/target/liquibase-*-installer-* artifacts
cp liquibase-maven-plugin/target/liquibase-maven-plugin-0-SNAPSHOT.jar artifacts
Expand All @@ -383,19 +386,29 @@ jobs:
cp liquibase-cdi/target/liquibase-cdi-0-SNAPSHOT.jar artifacts
cp liquibase-cdi/target/liquibase-cdi-0-SNAPSHOT-sources.jar artifacts
cp liquibase-cdi/target/liquibase-cdi-0-SNAPSHOT-javadoc.jar artifacts
echo "Source code not available for liquibase-commercial" > /tmp/readme.source.txt
(cd /tmp && jar cf liquibase-commercial-0-SNAPSHOT-sources.jar readme.source.txt)
cp target/liquibase-0-SNAPSHOT-javadoc.jar artifacts
echo "Javadocs not available for liquibase-commercial" > /tmp/readme.javadocs.txt
(cd /tmp && jar cf liquibase-commercial-0-SNAPSHOT-javadoc.jar readme.javadocs.txt)
cp download/liquibase-commercial/liquibase-commercial-0-SNAPSHOT.jar artifacts
cp /tmp/liquibase-commercial-0-SNAPSHOT-sources.jar artifacts
cp /tmp/liquibase-commercial-0-SNAPSHOT-javadoc.jar artifacts
.github/util/sign-artifacts.sh artifacts
##prepare branch-named convenience artifacts directories
mkdir artifacts-named
cp liquibase-dist/target/liquibase-0-SNAPSHOT.tar.gz artifacts-named/liquibase-${{ needs.setup.outputs.thisBranchFileName }}.tar.gz
cp liquibase-dist/target/liquibase-0-SNAPSHOT.jar artifacts-named/liquibase-${{ needs.setup.outputs.thisBranchFileName }}.jar
cp liquibase-dist/target/liquibase-0-SNAPSHOT.jar artifacts-named/liquibase-core-${{ needs.setup.outputs.thisBranchFileName }}.jar
cp liquibase-maven-plugin/target/liquibase-maven-plugin-0-SNAPSHOT.jar artifacts-named/liquibase-maven-plugin-${{ needs.setup.outputs.thisBranchFileName }}.jar
cp liquibase-cdi/target/liquibase-cdi-0-SNAPSHOT.jar artifacts-named/liquibase-cdi-${{ needs.setup.outputs.thisBranchFileName }}.jar
cp liquibase-extension-testing/target/liquibase-extension-testing-0-SNAPSHOT.jar artifacts-named/liquibase-extension-testing-${{ needs.setup.outputs.thisBranchFileName }}.jar
cp liquibase-extension-testing/target/liquibase-extension-testing-0-SNAPSHOT-deps.jar artifacts-named/liquibase-extension-testing-${{ needs.setup.outputs.thisBranchFileName }}-deps.jar
cp download/liquibase-commercial/liquibase-commercial-0-SNAPSHOT.jar artifacts-named/liquibase-commercial-${{ needs.setup.outputs.thisBranchFileName }}.jar
- name: Archive Packages
uses: actions/upload-artifact@v3
Expand Down Expand Up @@ -474,7 +487,7 @@ jobs:
}
if (failedCheckingUs) {
console.log("Rerun liquibase-pro that was waiting on us");
console.log("Rerun liquibase-commercial that was waiting on us");
//octokit removed the retryWorkflow function
github.request("POST "+currentBranchInfo.runRerunUrl);
Expand Down
7 changes: 4 additions & 3 deletions .github/workflows/create-release.yml
Expand Up @@ -73,15 +73,16 @@ jobs:
.github/util/sign-artifacts.sh re-version/out
mkdir re-version/final
mv re-version/out/liquibase-${{ needs.setup.outputs.version }}.jar re-version/final
mv re-version/out/liquibase-core-${{ needs.setup.outputs.version }}.jar re-version/final
mv re-version/out/liquibase-commercial-${{ needs.setup.outputs.version }}.jar re-version/final
mv re-version/out/liquibase-${{ needs.setup.outputs.version }}.tar.gz re-version/final
mv re-version/out/liquibase-${{ needs.setup.outputs.version }}.zip re-version/final
(cd re-version/out/ && zip liquibase-additional-${{ needs.setup.outputs.version }}.zip *)
mv re-version/out/liquibase-additional-${{ needs.setup.outputs.version }}.zip re-version/final
- name: Cache Completed Artifacts
uses: actions/cache@v3.0.4
uses: actions/cache@v3.0.5
with:
key: completed-artifacts-${{ github.run_number }}-${{ github.run_attempt }}
path: re-version/final
Expand All @@ -102,7 +103,7 @@ jobs:
- uses: actions/checkout@v3

- name: Restore Completed Artifacts
uses: actions/cache@v3.0.4
uses: actions/cache@v3.0.5
with:
key: completed-artifacts-${{ github.run_number }}-${{ github.run_attempt }}
path: re-version/final
Expand Down
34 changes: 25 additions & 9 deletions .github/workflows/release-published.yml
Expand Up @@ -73,29 +73,45 @@ jobs:
unzip liquibase-additional-*.zip
##extracts and sign poms
unzip -j liquibase-${version}.jar META-INF/maven/org.liquibase/liquibase-core/pom.xml
mv pom.xml liquibase-${version}.pom
gpg --batch --pinentry-mode=loopback --passphrase "$GPG_PASSWORD" -ab liquibase-${version}.pom
unzip -j liquibase-core-${version}.jar META-INF/maven/org.liquibase/liquibase-core/pom.xml
mv pom.xml liquibase-core-${version}.pom
gpg --batch --pinentry-mode=loopback --passphrase "$GPG_PASSWORD" -ab liquibase-core-${version}.pom
unzip -j liquibase-maven-plugin-${version}.jar META-INF/maven/org.liquibase/liquibase-maven-plugin/pom.xml
mv pom.xml liquibase-maven-plugin-${version}.pom
sed -i -e "s/<description>/<name>Liquibase Maven Plugin<\/name><description>/" liquibase-maven-plugin-${version}.pom ## name didn't end up in pom. Hack it in for now
gpg --batch --pinentry-mode=loopback --passphrase "$GPG_PASSWORD" -ab liquibase-maven-plugin-${version}.pom
unzip -j liquibase-cdi-${version}.jar META-INF/maven/org.liquibase/liquibase-cdi/pom.xml
mv pom.xml liquibase-cdi-${version}.pom
sed -i -e "s/<description>/<name>Liquibase CDI Plugin<\/name><description>/" liquibase-cdi-${version}.pom ## name didn't end up in pom. Hack it in for now
gpg --batch --pinentry-mode=loopback --passphrase "$GPG_PASSWORD" -ab liquibase-cdi-${version}.pom
unzip -j liquibase-commercial-${version}.jar META-INF/maven/org.liquibase/liquibase-commercial/pom.xml
mv pom.xml liquibase-commercial-${version}.pom
sed -i -e "s/<\/licenses>/<\/licenses><scm><connection>private<\/connection><developerConnection>private<\/developerConnection><url>private<\/url><\/scm>/" liquibase-commercial-${version}.pom ## scm info not in the pom
gpg --batch --pinentry-mode=loopback --passphrase "$GPG_PASSWORD" -ab liquibase-commercial-${version}.pom
mvn -B org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1:deploy-file \
-Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ \
-DrepositoryId=sonatype-nexus-staging \
-DpomFile=liquibase-${version}.pom \
-DpomFile=liquibase-core-${version}.pom \
-DgeneratePom=false \
-Dfile=liquibase-${version}.jar \
-Dsources=liquibase-${version}-sources.jar \
-Djavadoc=liquibase-${version}-javadoc.jar \
-Dfiles=liquibase-${version}.jar.asc,liquibase-${version}-sources.jar.asc,liquibase-${version}-javadoc.jar.asc,liquibase-${version}.pom.asc \
-Dfile=liquibase-core-${version}.jar \
-Dsources=liquibase-core-${version}-sources.jar \
-Djavadoc=liquibase-core-${version}-javadoc.jar \
-Dfiles=liquibase-core-${version}.jar.asc,liquibase-core-${version}-sources.jar.asc,liquibase-core-${version}-javadoc.jar.asc,liquibase-core-${version}.pom.asc \
-Dtypes=jar.asc,jar.asc,jar.asc,pom.asc \
-Dclassifiers=,sources,javadoc,
mvn -B org.apache.maven.plugins:maven-deploy-plugin:3.0.0-M1:deploy-file \
-Durl=https://oss.sonatype.org/service/local/staging/deploy/maven2/ \
-DrepositoryId=sonatype-nexus-staging \
-DpomFile=liquibase-commercial-${version}.pom \
-DgeneratePom=false \
-Dfile=liquibase-commercial-${version}.jar \
-Dsources=liquibase-commercial-${version}-sources.jar \
-Djavadoc=liquibase-commercial-${version}-javadoc.jar \
-Dfiles=liquibase-commercial-${version}.jar.asc,liquibase-commercial-${version}-sources.jar.asc,liquibase-commercial-${version}-javadoc.jar.asc,liquibase-commercial-${version}.pom.asc \
-Dtypes=jar.asc,jar.asc,jar.asc,pom.asc \
-Dclassifiers=,sources,javadoc,
Expand Down

0 comments on commit b644c8f

Please sign in to comment.