Skip to main content
Jump to: navigation, search

Difference between revisions of "Californium/Release Process"

Line 2: Line 2:
 
=== How-to release californium ===
 
=== How-to release californium ===
  
1st get a copy of *all* the californium repository:
+
1st get a copy of '''all''' the californium repository:
  
 
<code>
 
<code>
Line 37: Line 37:
 
</code>
 
</code>
  
* build & sign the artifacts (you need a gpg key)
+
* build & sign the artifacts (you need a gpg key; see below)
  
 
<code>
 
<code>
Line 84: Line 84:
 
Now connect on the [https://oss.sonatype.org/#stagingRepositories Sonatype OSS Nexus] and close the staging repository. If it's fine you will be able to "release" the repository and the artifact will show up in maven central in a few hours.
 
Now connect on the [https://oss.sonatype.org/#stagingRepositories Sonatype OSS Nexus] and close the staging repository. If it's fine you will be able to "release" the repository and the artifact will show up in maven central in a few hours.
 
Next step is to edit the [https://projects.eclipse.org/projects/technology.californium/governance Eclipse project metadata] and announce it on the mailing list.
 
Next step is to edit the [https://projects.eclipse.org/projects/technology.californium/governance Eclipse project metadata] and announce it on the mailing list.
 +
 +
----
 +
 +
=== GPG Help ===
 +
 +
Under CygWin the following error might occur:
 +
<code>
 +
gpg: cannot open tty `no tty': No such file or directory
 +
</code>
 +
 +
This can be fixed by configuring gpg through an active profile in <code>.m2\settings.xml</code> where also the Sonatype password is stored:
 +
 +
<pre>
 +
<settings>
 +
  <servers>
 +
    <server>
 +
      <id>ossrh</id>
 +
      <username>[username]</username>
 +
      <password>[password]</password>
 +
    </server>
 +
  </servers>
 +
  <profiles>
 +
    <profile>
 +
      <id>gpg</id>
 +
      <properties>
 +
        <gpg.executable>gpg</gpg.executable>
 +
        <gpg.passphrase>[password]</gpg.passphrase>
 +
      </properties>
 +
    </profile>
 +
  </profiles>
 +
  <activeProfiles>
 +
    <activeProfile>gpg</activeProfile>
 +
  </activeProfiles>
 +
</settings>
 +
</pre>

Revision as of 01:48, 16 January 2015

How-to release californium

1st get a copy of all the californium repository:

git clone git@github.com:eclipse/californium.element-connector.git

git clone git@github.com:eclipse/californium.scandium.git

git clone git@github.com:eclipse/californium.git

git clone git@github.com:eclipse/californium.tools.git

git clone git@github.com:eclipse/californium.actinium.git

You need to process the repository in the correct order:

element-connector

scandium

californium

tools

actinium

In each repository:

  • set the final version (probably the same as the current one but without "SNAPSHOT")

mvn versions:set -DnewVersion=X.Y.Z

  • build & sign the artifacts (you need a gpg key; see below)

mvn clean install -Prelease

  • looks in ./target/ does the artifacts looks nice?
  • check if there is no *-SNAPSHOT in the dependency:

mvn dependency:tree

  • then commit the pom.xml, and tag the release:

git add pom.xml \*/pom.xml

git commit -m "Release X.Y.Z"

git tag "X.Y.Z"

  • publish the artifacts on maven central

mvn deploy -Prelease

  • prepare for the next cycle:

mvn versions:set -DnewVersion=X.Y.Z-SNAPSHOT

git add pom.xml \*/pom.xml

git commit -m "Release X.Y.Z"

  • push the commits

git push && git push --tags

Now connect on the Sonatype OSS Nexus and close the staging repository. If it's fine you will be able to "release" the repository and the artifact will show up in maven central in a few hours. Next step is to edit the Eclipse project metadata and announce it on the mailing list.


GPG Help

Under CygWin the following error might occur: gpg: cannot open tty `no tty': No such file or directory

This can be fixed by configuring gpg through an active profile in .m2\settings.xml where also the Sonatype password is stored:

<settings>
  <servers>
    <server>
      <id>ossrh</id>
      <username>[username]</username>
      <password>[password]</password>
    </server>
  </servers>
  <profiles>
    <profile>
      <id>gpg</id>
      <properties>
        <gpg.executable>gpg</gpg.executable>
        <gpg.passphrase>[password]</gpg.passphrase>
      </properties>
    </profile>
  </profiles>
  <activeProfiles>
    <activeProfile>gpg</activeProfile>
  </activeProfiles>
</settings>

Back to the top