Skip to content

Perform a new release

Vladimír Hudec edited this page May 28, 2025 · 26 revisions

Table of Contents

Check your GPG public key is uploaded
Prepare the new release - archetypes and samples
Do the new release and prepare the next release - SQLP
Do Sonatype release
Check the central Maven repos
Prepare the next release - archetypes and samples
Make javadoc public
Announce it
Do the new release and prepare the next release - SQLEP
Make SQLEP public

How to release for example the version 1.9.1 and prepare 1.9.2-SNAPSHOT

Check your GPG public key is uploaded

gpg --gen-key
gpg --send-keys xxx
gpg --output mykey.asc --export -a xxx
make it public at http://pgp.mit.edu:11371/

Prepare the new release - archetypes and samples

gedit ~/git/sql-processor/scripts/change-version-partial.xml
1.9.1-SNAPSHOT to 1.9.1
cd ~/git/sql-processor/scripts/
ant -f change-version-partial.xml
cd ~/git/sql-processor
git add .
git ci -m "[maven-release-plugin] prepare release"
git push

Do the new release and prepare the next release - SQLP

cd ~/git/sql-processor
mvn release:clean
mvn release:prepare
mvn release:perform

Do Sonatype release

go to https://oss.sonatype.org/index.html#welcome
https://central.sonatype.com/
user xxx
go to the staging directories
check the required artifact and control it
close it
release it

Check the central Maven repos

at
https://oss.sonatype.org/content/groups/public/org/sqlproc/
after cca 8 hours check it at
https://repo1.maven.org/maven2/org/sqlproc/

Prepare the next release - archetypes and samples

gedit ~/git/sql-processor/scripts/change-version-partial.xml
1.9.1 to 1.9.2-SNAPSHOT
cd ~/git/sql-processor/scripts/
ant -f change-version-partial.xml
cd ~/git/sql-processor
mvn clean install
cd ~/git/sql-processor/sql-samples/
mvn clean install
cd ~/git/sql-processor/simple-samples/
mvn clean install
cd ~/git/sql-processor
git add .
git ci -m "[maven-release-plugin] prepare for next development iteration"
git push
mvn deploy

Make javadoc public

cd ~/git/sql-processor
git co sql-processor-parent-1.9.1
mvn javadoc:javadoc
mkdir -p ~/git/hudec.github.com/javadoc/1.9.1/core
cp -r sql-processor/target/site/apidocs/* ~/git/hudec.github.com/javadoc/1.9.1/core
mkdir -p ~/git/hudec.github.com/javadoc/1.9.1/hibernate
cp -r sql-processor-hibernate/target/site/apidocs/* ~/git/hudec.github.com/javadoc/1.9.1/hibernate
mkdir -p ~/git/hudec.github.com/javadoc/1.9.1/spring
cp -r sql-processor-spring/target/site/apidocs/* ~/git/hudec.github.com/javadoc/1.9.1/spring
mkdir -p ~/git/hudec.github.com/javadoc/1.9.1/beans
cp -r sql-processor-beans/target/site/apidocs/* ~/git/hudec.github.com/javadoc/1.9.1/beans
cd ~/git/hudec.github.com
git add .
git ci -m "Javadoc 1.9.1"
git push
edit https://github.com/hudec/sql-processor/wiki - update Javadoc reference
cd ~/git/sql-processor
git co master
git st

Announce it

edit https://github.com/hudec/sql-processor/wiki - update News
cd ~/git/sql-processor.wiki/
git pull

Do the new release and prepare the next release - SQLEP

cd ~/git/sql-processor-eclipse
mvn org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=1.9.4
sed -i 's/.qualifier//g' org.sqlproc.dsl.site/feature.xml
mvn clean install
git add .
git ci -m "[maven-release-plugin] prepare release sql-processor-eclipse-1.9.4"
git tag -a -m "[maven-release-plugin] prepare release sql-processor-eclipse-1.9.4" sql-processor-plugin-1.9.4
git push
git push --tags

cd ~/git/sql-processor-eclipse
mvn org.eclipse.tycho:tycho-versions-plugin:set-version -DnewVersion=1.9.5-SNAPSHOT
sed -i 's/1.9.4/1.9.5.qualifier/g' org.sqlproc.dsl.site/feature.xml
mvn clean install
git add .
git ci -m "[maven-release-plugin] prepare for next development iteration"
git push

Make SQLEP public

cd ~/git/sql-processor-eclipse/
git co sql-processor-plugin-1.9.4
mvn clean install
cp ./org.sqlproc.dsl/target/org.sqlproc.dsl-1.9.4.jar ~/git/hudec.github.com/plugins
cp ./org.sqlproc.dsl.ui/target/org.sqlproc.dsl.ui-1.9.4.jar ~/git/hudec.github.com/plugins
cd ~/git/hudec.github.com/plugins/releases/
find . -name "*.jar" -exec git rm {} ;
unzip ~/git/sql-processor-eclipse/org.sqlproc.dsl.site/target/org.sqlproc.dsl.site-1.9.4.zip
cd ~/git/hudec.github.com
git add .
git ci -m "SQLEP 1.9.4"
git push
edit https://github.com/hudec/sql-processor-eclipse/wiki - update SQLEP reference
cd ~/git/sql-processor-eclipse
git co master
git st

settings.xml content - no more required for SQLP 2+

<?xml version="1.0" encoding="UTF-8"?>
<settings>
    <localRepository>/home/hudec/.m2/repository</localRepository>
    <profiles>
        <profile>
            <id>ext</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <repositories>
                <repository>
                    <id>central</id>
                    <url>http://repo1.maven.org/maven2</url>
                </repository>
                <repository>
                    <id>java.net</id>
                    <url>http://download.java.net/maven/2</url>
                </repository>
                <repository>
                    <id>maven2-repository.dev.java.net</id>
                    <url>http://download.java.net/maven/2/</url>
                </repository>
                <repository>
                    <id>Mirrors.ibiblio.org</id>
                    <url>http://mirrors.ibiblio.org/pub/mirrors/maven2/</url>
                </repository>
                <repository>
                    <id>mojo-executor-repository</id>
                    <url>http://mojo-executor.googlecode.com/svn/repo/</url>
                </repository>
                <repository>
                    <id>spring-maven-milestone</id>
                    <name>Springframework Maven Repository</name>
                    <url>http://maven.springframework.org/milestone</url>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>java.net</id>
                    <name>Java.net Repository for Maven2</name>
                    <url>http://download.java.net/maven/1/</url>
                    <layout>legacy</layout>
                </pluginRepository>
                <pluginRepository>
                    <id>eviwarePluginRepository</id>
                    <url>http://www.eviware.com/repository/maven2/</url>
                </pluginRepository>
            </pluginRepositories>
        </profile>
    </profiles>
    <servers>
        <server>
          <id>sonatype-nexus-snapshots</id>
          <username>xxx</username>
          <password>xxx</password>
        </server>
        <server>
          <id>sonatype-nexus-staging</id>
          <username>xxx</username>
          <password>xxx</password>
        </server>
    </servers>
</settings>

The tutorial is updated for SQLP 2.2

Clone this wiki locally