summaryrefslogtreecommitdiffstats
path: root/maven-plugins/trunk/tuscany-bundle-plugin/README
blob: 74b16f32669761de1620401bd686e27253bb9a1b (plain)
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
A Maven plugin used by the Tuscany SCA project that can build an OSGi bundle for a 
project's third-party dependencies, generate a directory containing OSGi bundles 
for all the project's module dependencies, and create Eclipse project files 
(.project, .classpath etc) to configure the Eclipse PDE environment for a project.

To build, from the top maven-bundle-plugin run maven:

mvn

or once all the dependencies have been downloaded and a succesful build run use:

mvn clean install -o

So as to avoid the Tuscany SCA project using SNAPSHOT dependencies any changes
to this module should be released and the Tuscany SCA project updated to use 
the newly released version.

To release this module:

mvn release:prepare

followed by: 

mvn release:perform

That will automatically create an SVN tag from the release, update the version 
numbers in the pom.xml files in the trunk and tag, and deploy the artifacts to the
staging repository defined by the <deploy.altRepository> in your Maven settings.xml.
While running it will prompt you for the names for the tag, release version etc.

Note: there seem to be issues with having empty folders in the src tree which causes
      release:prepare to fail, not sure why but deleting the empty folder fixes the
      problem. You can do "mvn release:rollback" to undo a failed release.

In your maven settings.xml file you must have a server defined named "apache.releases",
and a profile named "release". For example:

  <servers>
    ...
    <server>
      <id>apache.releases</id>
      <username>antelder</username>
      <privateKey>\ant\id_dsa</privateKey>
      <passphrase>xxx</passphrase>
      <directoryPermissions>775</directoryPermissions>
      <filePermissions>664</filePermissions>
    </server>
  </servers>

  <profiles>
    ...
    <profile>
      <id>release</id>
      <properties>
        <gpg.passphrase>...</gpg.passphrase>
        <deploy.altRepository>apache.releases::default::scp://people.apache.org/home/antelder/public_html/tuscany/maven-bundle-plugin-1.0</deploy.altRepository>
      </properties>
    </profile>
  </profiles>

Call a vote to release the module, eg: http://apache.markmail.org/message/6jnlfxbx7uklt5nv

After a successful vote copy the staging artifacts to the live repository, eg: 

cp -p -v -R  maven-bundle-plugin-1.0/org/apache/tuscany/maven/plugins/ /x1/www/people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/tuscany/maven/plugins