...
- Check for the most recent develop SHA that passes all the tests and contains all the features / bug fixes that need to go into the release at https://concourse.apachegeode-ci.info/beta/teams/main/pipelines/develop/jobs/UpdatePassingRef.
- Ensure in JIRA, that all tickets with {version} as the fix version are either closed or resolved. If not inform the the assignees to either resolve/close it or if not fixed then increment the fix version in the ticket
Create the release branch.
Code Block title Create release branch git checkout -b release/{version}
gradle.properties
- remove -SNAPSHOT in releaseType
- docker/Dockerfile
- Update GEODE_GPG with your GPG fingerprint.
- Update GEODE_VERSION with the release version (eg. 1.8.0)
Update the version number in all the expected pom files. Doing it manually takes a lot of time. If you choose to do it I have listed the files below. Otherwise please use the script below to do it.
Info title Updating the expected-pom files - build geode after the version is updated in gradle.properties. NOTE: The build will fail but will have the correct expected-pom.xml files
Code Block language bash title gradle build ./gradlew clean build -Dskip.tests=true
- create a script in geode folder and assign executable permission.
Code Block language bash title Update the expected pom files #!/bin/bash cp geode-assembly/build/publications/maven/pom-default.xml geode-assembly/src/test/resources/expected-pom.xml cp geode-common/build/publications/maven/pom-default.xml geode-common/src/test/resources/expected-pom.xml cp geode-concurrency-test/build/publications/maven/pom-default.xml geode-concurrency-test/src/test/resources/expected-pom.xml cp geode-connectors/build/publications/maven/pom-default.xml geode-connectors/src/test/resources/expected-pom.xml cp geode-core/build/publications/maven/pom-default.xml geode-core/src/test/resources/expected-pom.xml cp geode-cq/build/publications/maven/pom-default.xml geode-cq/src/test/resources/expected-pom.xml cp geode-dunit/build/publications/maven/pom-default.xml geode-dunit/src/test/resources/expected-pom.xml cp geode-experimental-driver/build/publications/maven/pom-default.xml geode-experimental-driver/src/test/resources/expected-pom.xml cp geode-json/build/publications/maven/pom-default.xml geode-json/src/test/resources/expected-pom.xml cp geode-junit/build/publications/maven/pom-default.xml geode-junit/src/test/resources/expected-pom.xml cp geode-lucene/build/publications/maven/pom-default.xml geode-lucene/src/test/resources/expected-pom.xml cp geode-old-client-support/build/publications/maven/pom-default.xml geode-old-client-support/src/test/resources/expected-pom.xml cp geode-protobuf-messages/build/publications/maven/pom-default.xml geode-protobuf-messages/src/test/resources/expected-pom.xml cp geode-protobuf/build/publications/maven/pom-default.xml geode-protobuf/src/test/resources/expected-pom.xml cp geode-pulse/build/publications/maven/pom-default.xml geode-pulse/src/test/resources/expected-pom.xml cp geode-rebalancer/build/publications/maven/pom-default.xml geode-rebalancer/src/test/resources/expected-pom.xml cp geode-wan/build/publications/maven/pom-default.xml geode-wan/src/test/resources/expected-pom.xml cp geode-web-api/build/publications/maven/pom-default.xml geode-web-api/src/test/resources/expected-pom.xml cp geode-web/build/publications/maven/pom-default.xml geode-web/src/test/resources/expected-pom.xml
- Delete the script and then build geode again and this time it should be successful. Do not skip documentation build.
Code Block language bash title Build Geode #delete the script you created in the previous step rm <script-name>.sh #build geode , it should be successful this time. ./gradlew clean build -Dskip.tests=true
- Update the file geode-assembly/src/integrationTest/resources/assembly_content.txt with correct version. This can be done manually or use the below steps.
Code Block language bash title assemble_content.txt #remove the existing assembly_content.txt rm geode-assembly/src/integrationTest/resources/assembly_content.txt #go to the new build directory cd geode-assembly/build/install/apache-geode #Put the new files to a new assembly_content.txt find geode-assembly/build/install/apache-geode -type f | cut -c 43- | sort >> geode-assembly/src/integrationTest/resources/assembly_content.txt #Verify that these files have changed to the right version --- if you want to do it manually, these are the files in assembly_context.txt. #lib/geode-common-1.8.0.jar #lib/geode-connectors-1.8#LICENSE #NOTICE #README.md #bin/gfsh #bin/gfsh-completion.bash #bin/gfsh.bat #config/cache.xml #config/gemfire.properties #config/log4j2.xml #lib/HikariCP-3.2.0.jar #lib/geodeactivation-core-1.81.01.jar #lib/geodeantlr-cq-12.87.07.jar #lib/geode-dependenciesclassgraph-4.0.6.jar #lib/geodecommons-jcabeanutils-1.89.03.rarjar #lib/geodecommons-jsoncodec-1.8.010.jar #lib/geodecommons-lucene-1.8.0collections-3.2.2.jar #lib/commons-digester-2.1.jar #lib/commons-io-2.6.jar #lib/geodecommons-old-client-support-1.8lang-2.6.jar #lib/commons-logging-1.2.jar #lib/commons-modeler-2.0.1.jar #lib/geodecommons-protobufvalidator-1.6.jar #lib/fastutil-8.02.1.jar #lib/geodefindbugs-protobufannotations-messages-1.83.09-1.jar #lib/geode-rebalancercommon-1.8.0.jar #lib/geode-wanconnectors-1.8.0.jar #lib/geode-webcore-1.8.0.jar #tools/ClientProtocol#lib/geode-protobuf-messages-definitionscq-1.8.0.zipjar #tools/Extensions#lib/geode-dependencies.jar #lib/geode-webjca-1.8.0.warrar #tools#lib/Extensions/geode-webjson-api-1.8.0.warjar #tools/Modules/Apache_Geode_Modules#lib/geode-lucene-1.8.0-AppServer.zipjar #tools/Modules/Apache_Geode_Modules#lib/geode-old-client-support-1.8.0-Tomcat.zipjar #tools/Modules/Apache_Geode_Modules#lib/geode-protobuf-1.8.0-tcServer.zipjar #tools/Modules/Apache_Geode_Modules#lib/geode-protobuf-messages-1.8.0-tcServer30.zipjar #tools/Pulse#lib/geode-pulserebalancer-1.8.0.war
- Update the geode-assembly/src/integrationTest/resources/dependency_classpath.txt with the correct version numbers.
Code Block language bash title dependency_classpath.txt #Manually change the version numbers in the below lines in the file: #geode-common-jar #lib/geode-wan-1.8.0-SNAPSHOT.jar #geode#lib/geode-connectorsweb-1.8.0-SNAPSHOT.jar #lib/gfsh-dependencies.jar #geode#lib/jackson-coreannotations-12.89.0-SNAPSHOT6.jar #geode#lib/jackson-cqcore-12.89.0-SNAPSHOT6.jar #geode#lib/jackson-jsondatabind-12.89.0-SNAPSHOT6.jar #geode#lib/jansi-lucene-1.817.0-SNAPSHOT1.jar #geode-old-client-support-1.8.0-SNAPSHOT.jar #geode-protobuf-1.8.0-SNAPSHOT.jar #geode-protobuf-messages-1.8.0-SNAPSHOT.jar #geode-rebalancer-1.8.0-SNAPSHOT.jar #geode-wan-1.8.0-SNAPSHOT.jar
- Publish the release branch to origin
Code Block title Publish the release branch git add . git commit -a -m "Upgraded version number for releasing {version}" pit push origin release/{version}
Send email to dev@geode.apache.org informing the creation of the release branch and requesting feedback.
No Format Hello Geode Dev Community, We have created a new release branch for Apache Geode {version} - "release/{version}" Please do review and raise any concern with the release branch. If concerns are raised, we will start with the voting for the release candidate soon. Regards {Release Manager}
Send a email to dev@geode.apache.org requesting creation of a CI pipeline
No Format Hello Geode Dev Community, As we have created a release branch for Apache Geode {version} - "release/{version}" please create a CI pipeline for running tests on this branch. Regards {Release Manager}
Release Doc preparation:
...
#lib/javax.mail-api-1.6.1.jar #lib/javax.resource-api-1.7.jar #lib/javax.servlet-api-3.1.0.jar #lib/javax.transaction-api-1.2.jar #lib/jaxb-api-2.2.11.jar #lib/jaxb-core-2.2.11.jar #lib/jaxb-impl-2.2.11.jar #lib/jetty-http-9.4.12.v20180830.jar #lib/jetty-io-9.4.12.v20180830.jar #lib/jetty-security-9.4.12.v20180830.jar #lib/jetty-server-9.4.12.v20180830.jar #lib/jetty-servlet-9.4.12.v20180830.jar #lib/jetty-util-9.4.12.v20180830.jar #lib/jetty-webapp-9.4.12.v20180830.jar #lib/jetty-xml-9.4.12.v20180830.jar #lib/jgroups-3.6.14.Final.jar #lib/jline-2.12.jar #lib/jna-4.1.0.jar #lib/jopt-simple-5.0.4.jar #lib/log4j-api-2.11.0.jar #lib/log4j-core-2.11.0.jar #lib/log4j-jcl-2.11.0.jar #lib/log4j-jul-2.11.0.jar #lib/log4j-slf4j-impl-2.11.0.jar #lib/lucene-analyzers-common-6.6.2.jar #lib/lucene-analyzers-phonetic-6.6.2.jar #lib/lucene-core-6.6.2.jar #lib/lucene-queries-6.6.2.jar #lib/lucene-queryparser-6.6.2.jar #lib/mx4j-3.0.2.jar #lib/mx4j-remote-3.0.2.jar #lib/mx4j-tools-3.0.1.jar #lib/netty-all-4.1.27.Final.jar #lib/protobuf-java-3.6.0.jar #lib/ra.jar #lib/rmiio-2.1.2.jar #lib/shiro-cache-1.4.0.jar #lib/shiro-config-core-1.4.0.jar #lib/shiro-config-ogdl-1.4.0.jar #lib/shiro-core-1.4.0.jar #lib/shiro-crypto-cipher-1.4.0.jar #lib/shiro-crypto-core-1.4.0.jar #lib/shiro-crypto-hash-1.4.0.jar #lib/shiro-event-1.4.0.jar #lib/shiro-lang-1.4.0.jar #lib/slf4j-api-1.7.25.jar #lib/snappy-0.4.jar #lib/spring-aop-4.3.18.RELEASE.jar #lib/spring-beans-4.3.18.RELEASE.jar #lib/spring-context-4.3.18.RELEASE.jar #lib/spring-core-4.3.18.RELEASE.jar #lib/spring-expression-4.3.18.RELEASE.jar #lib/spring-shell-1.2.0.RELEASE.jar #lib/spring-web-4.3.18.RELEASE.jar #tools/ClientProtocol/geode-protobuf-messages-definitions-1.8.0.zip #tools/Extensions/geode-web-1.8.0.war #tools/Extensions/geode-web-api-1.8.0.war #tools/Modules/Apache_Geode_Modules-1.8.0-AppServer.zip #tools/Modules/Apache_Geode_Modules-1.8.0-Tomcat.zip #tools/Modules/Apache_Geode_Modules-1.8.0-tcServer.zip #tools/Modules/Apache_Geode_Modules-1.8.0-tcServer30.zip #tools/Pulse/geode-pulse-1.8.0.war
- Update the geode-assembly/src/integrationTest/resources/dependency_classpath.txt with the correct version numbers.
Code Block language bash title dependency_classpath.txt #Manually change the version numbers in the below lines in the file: #geode-common-1.8.0-SNAPSHOT.jar #geode-connectors-1.8.0-SNAPSHOT.jar #geode-core-1.8.0-SNAPSHOT.jar #geode-cq-1.8.0-SNAPSHOT.jar #geode-json-1.8.0-SNAPSHOT.jar #geode-lucene-1.8.0-SNAPSHOT.jar #geode-old-client-support-1.8.0-SNAPSHOT.jar #geode-protobuf-1.8.0-SNAPSHOT.jar #geode-protobuf-messages-1.8.0-SNAPSHOT.jar #geode-rebalancer-1.8.0-SNAPSHOT.jar #geode-wan-1.8.0-SNAPSHOT.jar
- Publish the release branch to origin
Code Block title Publish the release branch git add . git commit -a -m "Upgraded version number for releasing {version}" pit push origin release/{version}
Send email to dev@geode.apache.org informing the creation of the release branch and requesting feedback.
No Format Hello Geode Dev Community, We have created a new release branch for Apache Geode {version} - "release/{version}" Please do review and raise any concern with the release branch. If concerns are raised, we will start with the voting for the release candidate soon. Regards {Release Manager}
Send a email to dev@geode.apache.org requesting creation of a CI pipeline
No Format Hello Geode Dev Community, As we have created a release branch for Apache Geode {version} - "release/{version}" please create a CI pipeline for running tests on this branch. Regards {Release Manager}
Release Doc preparation:
- Start preparing the release docs at Release Notes. Use information from all the JIRAs that were closed or resolved.
Also write up a short paragraph on what was added to the release. This will need to go with the final announce email. Sample:
No Format Geode 1.7.0 contains a number of improvements and bug fixes. It includes performance improvements in OQL order-by and distinct queries in client/server when security is enabled. New GFSH commands were added to get/set cluster config and to destroy gateway receivers. A new post processor was added to the new client protocol. Pulse now supports legacy SSL options. Auto-reconnecting members no more reuse old addresses and IDs. Duplicated or member-specific receivers are removed from cluster config during rolling upgrades. Users are encouraged to upgrade to the latest release.
Prepare develop branch for the next release
- gradle.properties
- update versionNumber to the next release version (for example: if you created release branch for 1.8.0 update version number to 1.9.0 in the below files in develop branch)
- ensure that releaseType has -SNAPSHOT in it.
- geode-core/src/main/java/org/apache/geode/internal/Version.java
Add the new ordinal
Code Block language java title New ordinal //Add 5 to the previous ordinal private static final byte GEODE_190_ORDINAL = 100;
Add the new version
Code Block language java title Adding the new version public static final Version GEODE_190 = new Version("GEODE", "1.9.0", (byte) 1, (byte) 9, (byte) 0, (byte) 0, GEODE_190_ORDINAL);
Set the current version to the new version
Code Block language java title Set current to new version public static final Version CURRENT = GEODE_190;
- geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/CommandInitializer.java
Add the next version to addCommands
Code Block language java title CommandInitializer ALL_COMMANDS.put(Version.GEODE_190, commands);
- Update the version in geode-book/config.yml on develop.
Update the expected-pom.xml files
Info title Updating the expected-pom files - build geode after the version is updated in gradle.properties. NOTE:The build will fail but will have the correct pom-default.xml files
Code Block language bash title gradle build ./gradlew clean build -Dskip.tests=true
- create a script in geode folder and assign executable permission.
Code Block language bash title Update the expected pom files #!/bin/bash cp geode-assembly/build/publications/maven/pom-default.xml geode-assembly/src/test/resources/expected-pom.xml cp geode-common/build/publications/maven/pom-default.xml geode-common/src/test/resources/expected-pom.xml cp geode-concurrency-test/build/publications/maven/pom-default.xml geode-concurrency-test/src/test/resources/expected-pom.xml cp geode-connectors/build/publications/maven/pom-default.xml geode-connectors/src/test/resources/expected-pom.xml cp geode-core/build/publications/maven/pom-default.xml geode-core/src/test/resources/expected-pom.xml cp geode-cq/build/publications/maven/pom-default.xml geode-cq/src/test/resources/expected-pom.xml cp geode-dunit/build/publications/maven/pom-default.xml geode-dunit/src/test/resources/expected-pom.xml cp geode-experimental-driver/build/publications/maven/pom-default.xml geode-experimental-driver/src/test/resources/expected-pom.xml cp geode-json/build/publications/maven/pom-default.xml geode-json/src/test/resources/expected-pom.xml cp geode-junit/build/publications/maven/pom-default.xml geode-junit/src/test/resources/expected-pom.xml cp geode-lucene/build/publications/maven/pom-default.xml geode-lucene/src/test/resources/expected-pom.xml cp geode-old-client-support/build/publications/maven/pom-default.xml geode-old-client-support/src/test/resources/expected-pom.xml cp geode-protobuf-messages/build/publications/maven/pom-default.xml geode-protobuf-messages/src/test/resources/expected-pom.xml cp geode-protobuf/build/publications/maven/pom-default.xml geode-protobuf/src/test/resources/expected-pom.xml cp geode-pulse/build/publications/maven/pom-default.xml geode-pulse/src/test/resources/expected-pom.xml cp geode-rebalancer/build/publications/maven/pom-default.xml geode-rebalancer/src/test/resources/expected-pom.xml cp geode-wan/build/publications/maven/pom-default.xml geode-wan/src/test/resources/expected-pom.xml cp geode-web-api/build/publications/maven/pom-default.xml geode-web-api/src/test/resources/expected-pom.xml cp geode-web/build/publications/maven/pom-default.xml geode-web/src/test/resources/expected-pom.xml
- Delete the script and then build geode again and this time it should be successful. Do not skip documentation build.
Code Block language bash title Build Geode #delete the script you created in the previous step rm <script-name>.sh #build geode , it should be successful this time. ./gradlew clean build -Dskip.tests=true
- Update the file geode-assembly/src/integrationTest/resources/assembly_content.txt with correct version. This can be done manually or use the below steps.
Code Block language bash title assemble_content.txt #remove the existing assembly_content.txt rm geode-assembly/src/integrationTest/resources/assembly_content.txt #go to the new build directory cd geode-assembly/build/install/apache-geode #Put the new files to a new assembly_content.txt find geode-assembly/build/install/apache-geode -type f | cut -c 43- | sort >> geode-assembly/src/integrationTest/resources/assembly_content.txt #Verify that these files have changed to the right version --- if you want to do it manually, these are the files in assembly_context.txt. #LICENSE #NOTICE #README.md #bin/gfsh #bin/gfsh-completion.bash #bin/gfsh.bat #config/cache.xml #config/gemfire.properties #config/log4j2.xml #lib/HikariCP-3.2.0.jar #lib/activation-1.1.1.jar #lib/antlr-2.7.7.jar #lib/classgraph-4.0.6.jar #lib/commons-beanutils-1.9.3.jar #lib/commons-codec-1.10.jar #lib/commons-collections-3.2.2.jar #lib/commons-digester-2.1.jar #lib/commons-io-2.6.jar #lib/commons-lang-2.6.jar #lib/commons-logging-1.2.jar #lib/commons-modeler-2.0.1.jar #lib/commons-validator-1.6.jar #lib/fastutil-8.2.1.jar #lib/findbugs-annotations-1.3.9-1.jar #lib/geode-common-1.8.0.jar #lib/geode-connectors-1.8.0.jar #lib/geode-core-1.8.0.jar #lib/geode-cq-1.8.0.jar #lib/geode-dependencies.jar #lib/geode-jca-1.8.0.rar #lib/geode-json-1.8.0.jar #lib/geode-lucene-1.8.0.jar #lib/geode-old-client-support-1.8.0.jar #lib/geode-protobuf-1.8.0.jar #lib/geode-protobuf-messages-1.8.0.jar #lib/geode-rebalancer-1.8.0.jar #lib/geode-wan-1.8.0.jar #lib/geode-web-1.8.0.jar #lib/gfsh-dependencies.jar #lib/jackson-annotations-2.9.6.jar #lib/jackson-core-2.9.6.jar #lib/jackson-databind-2.9.6.jar #lib/jansi-1.17.1.jar #lib/javax.mail-api-1.6.1.jar #lib/javax.resource-api-1.7.jar #lib/javax.servlet-api-3.1.0.jar #lib/javax.transaction-api-1.2.jar #lib/jaxb-api-2.2.11.jar #lib/jaxb-core-2.2.11.jar #lib/jaxb-impl-2.2.11.jar #lib/jetty-http-9.4.12.v20180830.jar #lib/jetty-io-9.4.12.v20180830.jar #lib/jetty-security-9.4.12.v20180830.jar #lib/jetty-server-9.4.12.v20180830.jar #lib/jetty-servlet-9.4.12.v20180830.jar #lib/jetty-util-9.4.12.v20180830.jar #lib/jetty-webapp-9.4.12.v20180830.jar #lib/jetty-xml-9.4.12.v20180830.jar #lib/jgroups-3.6.14.Final.jar #lib/jline-2.12.jar #lib/jna-4.1.0.jar #lib/jopt-simple-5.0.4.jar #lib/log4j-api-2.11.0.jar #lib/log4j-core-2.11.0.jar #lib/log4j-jcl-2.11.0.jar #lib/log4j-jul-2.11.0.jar #lib/log4j-slf4j-impl-2.11.0.jar #lib/lucene-analyzers-common-6.6.2.jar #lib/lucene-analyzers-phonetic-6.6.2.jar #lib/lucene-core-6.6.2.jar #lib/lucene-queries-6.6.2.jar #lib/lucene-queryparser-6.6.2.jar #lib/mx4j-3.0.2.jar #lib/mx4j-remote-3.0.2.jar #lib/mx4j-tools-3.0.1.jar #lib/netty-all-4.1.27.Final.jar #lib/protobuf-java-3.6.0.jar #lib/ra.jar #lib/rmiio-2.1.2.jar #lib/shiro-cache-1.4.0.jar #lib/shiro-config-core-1.4.0.jar #lib/shiro-config-ogdl-1.4.0.jar #lib/shiro-core-1.4.0.jar #lib/shiro-crypto-cipher-1.4.0.jar #lib/shiro-crypto-core-1.4.0.jar #lib/shiro-crypto-hash-1.4.0.jar #lib/shiro-event-1.4.0.jar #lib/shiro-lang-1.4.0.jar #lib/slf4j-api-1.7.25.jar #lib/snappy-0.4.jar #lib/spring-aop-4.3.18.RELEASE.jar #lib/spring-beans-4.3.18.RELEASE.jar #lib/spring-context-4.3.18.RELEASE.jar #lib/spring-core-4.3.18.RELEASE.jar #lib/spring-expression-4.3.18.RELEASE.jar #lib/spring-shell-1.2.0.RELEASE.jar #lib/spring-web-4.3.18.RELEASE
Also write up a short paragraph on what was added to the release. This will need to go with the final announce email. Sample:
No Format |
---|
Geode 1.7.0 contains a number of improvements and bug fixes. It includes performance improvements in OQL order-by and distinct queries in client/server when security is enabled. New GFSH commands were added to get/set cluster config and to destroy gateway receivers. A new post processor was added to the new client protocol. Pulse now supports legacy SSL options. Auto-reconnecting members no more reuse old addresses and IDs. Duplicated or member-specific receivers are removed from cluster config during rolling upgrades. Users are encouraged to upgrade to the latest release. |
Prepare develop branch for the next release
- gradle.properties
- update versionNumber to the next release version (for example: if you created release branch for 1.8.0 update version number to 1.9.0 in the below files in develop branch)
- ensure that releaseType has -SNAPSHOT in it.
geode-core/src/main/java/org/apache/geode/internal/Version.java - Update the version in geode-book/config.yml on develop.
Update the expected-pom.xml files
Info title Updating the expected-pom files - build geode after the version is updated in gradle.properties. NOTE:The build will fail but will have the correct pom-default.xml files
Code Block language bash title gradle build ./gradlew clean build -Dskip.tests=true
- create a script in geode folder and assign executable permission.
Code Block language bash title Update the expected pom files #!/bin/bash cp geode-assembly/build/publications/maven/pom-default.xml geode-assembly/src/test/resources/expected-pom.xml cp geode-common/build/publications/maven/pom-default.xml geode-common/src/test/resources/expected-pom.xml cp geode-concurrency-test/build/publications/maven/pom-default.xml geode-concurrency-test/src/test/resources/expected-pom.xml cp geode-connectors/build/publications/maven/pom-default.xml geode-connectors/src/test/resources/expected-pom.xml cp geode-core/build/publications/maven/pom-default.xml geode-core/src/test/resources/expected-pom.xml cp geode-cq/build/publications/maven/pom-default.xml geode-cq/src/test/resources/expected-pom.xml cp geode-dunit/build/publications/maven/pom-default.xml geode-dunit/src/test/resources/expected-pom.xml cp geode-experimental-driver/build/publications/maven/pom-default.xml geode-experimental-driver/src/test/resources/expected-pom.xml cp geode-json/build/publications/maven/pom-default.xml geode-json/src/test/resources/expected-pom.xml cp geode-junit/build/publications/maven/pom-default.xml geode-junit/src/test/resources/expected-pom.xml cp geode-lucene/build/publications/maven/pom-default.xml geode-lucene/src/test/resources/expected-pom.xml cp geode-old-client-support/build/publications/maven/pom-default.xml geode-old-client-support/src/test/resources/expected-pom.xml cp geode-protobuf-messages/build/publications/maven/pom-default.xml geode-protobuf-messages/src/test/resources/expected-pom.xml cp geode-protobuf/build/publications/maven/pom-default.xml geode-protobuf/src/test/resources/expected-pom.xml cp geode-pulse/build/publications/maven/pom-default.xml geode-pulse/src/test/resources/expected-pom.xml cp geode-rebalancer/build/publications/maven/pom-default.xml geode-rebalancer/src/test/resources/expected-pom.xml cp geode-wan/build/publications/maven/pom-default.xml geode-wan/src/test/resources/expected-pom.xml cp geode-web-api/build/publications/maven/pom-default.xml geode-web-api/src/test/resources/expected-pom.xml cp geode-web/build/publications/maven/pom-default.xml geode-web/src/test/resources/expected-pom.xml
- Delete the script and then build geode again and this time it should be successful. Do not skip documentation build.
Code Block language bash title Build Geode #delete the script you created in the previous step rm <script-name>.sh #build geode , it should be successful this time. ./gradlew clean build -Dskip.tests=true
- Update the file geode-assembly/src/integrationTest/resources/assembly_content.txt with correct version. This can be done manually or use the below steps.
Code Block language bash title assemble_content.txt #remove the existing assembly_content.txt rm geode-assembly/src/integrationTest/resources/assembly_content.txt #go to the new build directory cd geode-assembly/build/install/apache-geode #Put the new files to a new assembly_content.txt find geode-assembly/build/install/apache-geode -type f | cut -c 43- | sort >> geode-assembly/src/integrationTest/resources/assembly_content.txt #Verify that these files have changed to the right version --- if you want to do it manually, these are the files in assembly_context.txt. #lib/geode-common-1.8.0.jar #lib/geode-connectors-1.8.0.jar #lib/geode-core-1.8.0.jar #lib/geode-cq-1.8.0.jar #lib/geode-dependencies.jar #lib/geode-jca-1.8.0.rar #lib/geode-json-1.8.0.jar #lib/geode-lucene-1.8.0.jar #lib/geode-old-client-support-1.8.0.jar #lib/geode-protobuf-1.8.0.jar #lib/geode-protobuf-messages-1.8.0.jar #lib/geode-rebalancer-1.8.0.jar #lib/geode-wan-1.8.0.jar #lib/geode-web-1.8.0.jar #tools/ClientProtocol/geode-protobuf-messages-definitions-1.8.0.zip #tools/Extensions/geode-web-1.8.0.war #tools/Extensions/geode-web-api-1.8.0.war #tools/Modules/Apache_Geode_Modules-1.8.0-AppServer.zip #tools/Modules/Apache_Geode_Modules-1.8.0-Tomcat.zip #tools/Modules/Apache_Geode_Modules-1.8.0-tcServer.zip #tools/Modules/Apache_Geode_Modules-1.8.0-tcServer30.zip #tools/Pulse/geode-pulse-1.8.0.war
- Update the geode-assembly/src/integrationTest/resources/dependency_classpath.txt with the correct version numbers.
Code Block language bash title dependency_classpath.txt #Manually change the version numbers in the below lines in the file: #geode-common-1.8.0-SNAPSHOT.jar #geode-connectors-1.8.0-SNAPSHOT.jar #geode-core-1.8.0-SNAPSHOT.jar #geode-cq-1.8.0-SNAPSHOT.jar #geode-json-1.8.0-SNAPSHOT.jar #geode-lucene-1.8.0-SNAPSHOT.jar #geode-old-client-support-1.8.0-SNAPSHOT.jar #geode-protobuf-1.8.0-SNAPSHOT.jar #geode-protobuf-messages-1.8.0-SNAPSHOT.jar #geode-rebalancer-1.8.0-SNAPSHOT.jar #geode-wan-1.8.0-SNAPSHOT.jar
- Publish the develop branch to origin
Code Block title Publish the release branch git add . git commit -a -m "Upgraded version number for releasing 1.x.x" pit push origin develop
Add the new ordinal
Code Block | ||||
---|---|---|---|---|
| ||||
//Add 5 to the previous ordinal
private static final byte GEODE_190_ORDINAL = 100; |
Add the new version
Code Block | ||||
---|---|---|---|---|
| ||||
public static final Version GEODE_190 =
new Version("GEODE", "1.9.0", (byte) 1, (byte) 9, (byte) 0, (byte) 0, GEODE_190_ORDINAL); |
Set the current version to the new version
Code Block | ||||
---|---|---|---|---|
| ||||
public static final Version CURRENT = GEODE_190; |
Add the next version to addCommands
Code Block | ||||
---|---|---|---|---|
| ||||
ALL_COMMANDS.put(Version.GEODE_190, commands); |
...