Author: veithen
Date: Sun Jul 18 18:05:10 2010
New Revision: 965268

URL: http://svn.apache.org/viewvc?rev=965268&view=rev
Log:
Simplify the build process of the Eclipse codegen plugin by using 
maven-bundle-plugin. This has multiple advantages:

* The bundle plugin automatically generates a manifest for the plugin and 
embeds the necessary dependencies into the plugin. -> no need anymore to play 
around with ant and maven-assembly-plugin
* Since the plugin now has a manifest, the dependencies no longer need to be 
specified in plugin.xml. -> plugin.xml no longer needs to be generated and is a 
static file; no need anymore to keep the plugin dependencies in sync with the 
Maven dependencies
* maven-bundle-plugin takes care to generate an appropriate bundle version 
number from the Maven version number. -> no need anymore to manually change the 
plugin version number before or after a release

The only remaining scripting part in the build is a small Groovy snippet that 
determines the bundle symbolic name and version.

Added:
    
axis/axis2/java/core/trunk/modules/tool/axis2-eclipse-codegen-plugin/build.properties
    
axis/axis2/java/core/trunk/modules/tool/axis2-eclipse-codegen-plugin/help_toc.xml
      - copied unchanged from r965030, 
axis/axis2/java/core/trunk/modules/tool/conf/codegen/help_toc.xml
    axis/axis2/java/core/trunk/modules/tool/axis2-eclipse-codegen-plugin/icons/
      - copied from r965030, 
axis/axis2/java/core/trunk/modules/tool/conf/codegen/icons/
    
axis/axis2/java/core/trunk/modules/tool/axis2-eclipse-codegen-plugin/plugin.xml
      - copied, changed from r965030, 
axis/axis2/java/core/trunk/modules/tool/conf/codegen/plugin.xml
Removed:
    
axis/axis2/java/core/trunk/modules/tool/axis2-eclipse-codegen-plugin/build.xml
    
axis/axis2/java/core/trunk/modules/tool/axis2-eclipse-codegen-plugin/src/test/
Modified:
    axis/axis2/java/core/trunk/modules/tool/axis2-eclipse-codegen-plugin/   
(props changed)
    
axis/axis2/java/core/trunk/modules/tool/axis2-eclipse-codegen-plugin/eclipse-codegen-plugin-assembly.xml
    axis/axis2/java/core/trunk/modules/tool/axis2-eclipse-codegen-plugin/pom.xml

Propchange: 
axis/axis2/java/core/trunk/modules/tool/axis2-eclipse-codegen-plugin/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Sun Jul 18 18:05:10 2010
@@ -1,3 +1,7 @@
 axis2.eclipse.codegen.plugin.iml
 target
-
+META-INF
+lib
+.settings
+.classpath
+.project

Added: 
axis/axis2/java/core/trunk/modules/tool/axis2-eclipse-codegen-plugin/build.properties
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/tool/axis2-eclipse-codegen-plugin/build.properties?rev=965268&view=auto
==============================================================================
--- 
axis/axis2/java/core/trunk/modules/tool/axis2-eclipse-codegen-plugin/build.properties
 (added)
+++ 
axis/axis2/java/core/trunk/modules/tool/axis2-eclipse-codegen-plugin/build.properties
 Sun Jul 18 18:05:10 2010
@@ -0,0 +1,27 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+source.. = src/main/java/,\
+           target/maven-shared-archive-resources/
+output.. = target/classes/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               lib/,\
+               help_toc.xml

Modified: 
axis/axis2/java/core/trunk/modules/tool/axis2-eclipse-codegen-plugin/eclipse-codegen-plugin-assembly.xml
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/tool/axis2-eclipse-codegen-plugin/eclipse-codegen-plugin-assembly.xml?rev=965268&r1=965267&r2=965268&view=diff
==============================================================================
--- 
axis/axis2/java/core/trunk/modules/tool/axis2-eclipse-codegen-plugin/eclipse-codegen-plugin-assembly.xml
 (original)
+++ 
axis/axis2/java/core/trunk/modules/tool/axis2-eclipse-codegen-plugin/eclipse-codegen-plugin-assembly.xml
 Sun Jul 18 18:05:10 2010
@@ -23,113 +23,18 @@
     <formats>
         <format>zip</format>
     </formats>
-    <fileSets>
-        <fileSet>
-            <directory>./target/classes</directory>
-            <outputDirectory>classes</outputDirectory>
-       </fileSet>
-    </fileSets>
-       <dependencySets>
-       <dependencySet>
-               
<outputFileNameMapping>${artifactId}-${geronimo.spec.activation.version}.${extension}</outputFileNameMapping>
-               <outputDirectory>lib</outputDirectory>
-               <includes>
-                       
<include>org.apache.geronimo.specs:geronimo-activation_1.1_spec:jar</include>
-               </includes>
-       </dependencySet> 
-       <dependencySet>
-               
<outputFileNameMapping>${artifactId}-${axiom.version}.${extension}</outputFileNameMapping>
-               <outputDirectory>lib</outputDirectory>
-               <includes>
-                       
<include>org.apache.ws.commons.axiom:axiom-api:jar</include>
-                       
<include>org.apache.ws.commons.axiom:axiom-dom:jar</include>
-                       
<include>org.apache.ws.commons.axiom:axiom-impl:jar</include>
-               </includes>
-       </dependencySet> 
-               <dependencySet>
-               
<outputFileNameMapping>${artifactId}-${commons.logging.version}.${extension}</outputFileNameMapping>
-               <outputDirectory>lib</outputDirectory>
-               <includes>
-                       <include>commons-logging:commons-logging:jar</include>
-               </includes>
-       </dependencySet> 
-       <dependencySet>
-               
<outputFileNameMapping>${artifactId}-${axis2.version}.${extension}</outputFileNameMapping>
-               <outputDirectory>lib</outputDirectory>
-               <includes>
-                       <include>org.apache.axis2:axis2:jar</include>
-               </includes>
-       </dependencySet> 
-       <dependencySet>
-               
<outputFileNameMapping>${artifactId}-${neethi.version}.${extension}</outputFileNameMapping>
-               <outputDirectory>lib</outputDirectory>
-               <includes>
-                       <include>org.apache.neethi:neethi:jar</include>
-               </includes>
-       </dependencySet> 
-       <dependencySet>
-               
<outputFileNameMapping>${artifactId}-${geronimo.spec.stax.version}.${extension}</outputFileNameMapping>
-               <outputDirectory>lib</outputDirectory>
-               <includes>
-                       
<include>org.apache.geronimo.specs:geronimo-stax-api_1.0_spec:jar</include>
-               </includes>
-       </dependencySet> 
-       <dependencySet>
-               
<outputFileNameMapping>${artifactId}-${wsdl4j.version}.${extension}</outputFileNameMapping>
-               <outputDirectory>lib</outputDirectory>
-               <includes>
-                       <include>wsdl4j:wsdl4j:jar</include>
-               </includes>
-       </dependencySet> 
-       <dependencySet>
-               
<outputFileNameMapping>${artifactId}-${xmlbeans.version}.${extension}</outputFileNameMapping>
-               <outputDirectory>lib</outputDirectory>
-               <includes>
-                       <include>org.apache.xmlbeans:xmlbeans:jar</include>
-               </includes>
-       </dependencySet> 
-       <dependencySet>
-               
<outputFileNameMapping>${artifactId}-${xmlschema.version}.${extension}</outputFileNameMapping>
-               <outputDirectory>lib</outputDirectory>
-               <includes>
-                       
<include>org.apache.ws.commons.schema:XmlSchema:jar</include>
-               </includes>
-       </dependencySet> 
-       <dependencySet>
-               
<outputFileNameMapping>${artifactId}-${log4j.version}.${extension}</outputFileNameMapping>
-               <outputDirectory>lib</outputDirectory>
-               <includes>
-                       <include>log4j:log4j:jar</include>
-               </includes>
-       </dependencySet> 
-       <dependencySet>
-               
<outputFileNameMapping>${artifactId}-${woden.version}.${extension}</outputFileNameMapping>
-               <outputDirectory>lib</outputDirectory>
-               <includes>
-                       <include>org.apache.woden:woden:jar</include>
-               </includes>
-       </dependencySet> 
-       <dependencySet>
-               
<outputFileNameMapping>${artifactId}-${commons.httpclient.version}.${extension}</outputFileNameMapping>
-               <outputDirectory>lib</outputDirectory>
-               <includes>
-                       
<include>commons-httpclient:commons-httpclient:jar</include>
-               </includes>
-       </dependencySet> 
-       <dependencySet>
-               
<outputFileNameMapping>${artifactId}-${commons.codec.version}.${extension}</outputFileNameMapping>
-               <outputDirectory>lib</outputDirectory>
-               <includes>
-                       <include>commons-codec:commons-codec:jar</include>
-               </includes>
-       </dependencySet> 
-       <dependencySet>
-               
<outputFileNameMapping>${artifactId}-${jibx.version}.${extension}</outputFileNameMapping>
-               <outputDirectory>lib</outputDirectory>
-               <includes>
-                       <include>jibx:jibx-bind:jar</include>
-                       <include>jibx:jibx-run:jar</include>
-               </includes>
-       </dependencySet> 
-       </dependencySets>
+    <dependencySets>
+        <dependencySet>
+            <!-- We only want to include the main artifact of the project -->
+            <useProjectArtifact>true</useProjectArtifact>
+            <includes>
+                <include>${project.groupId}:${project.artifactId}</include>
+            </includes>
+            <outputDirectory>plugins</outputDirectory>
+            <!-- Make sure that the name of the JAR in the distribution 
respects the naming
+                 convention expected by Eclipse. The bundle-symbolic-name and
+                 bundle-version variables are calculated by a Groovy script 
executed from the POM. -->
+            
<outputFileNameMapping>${bundle-symbolic-name}_${bundle-version}.jar</outputFileNameMapping>
+        </dependencySet>
+    </dependencySets>
 </assembly>

Copied: 
axis/axis2/java/core/trunk/modules/tool/axis2-eclipse-codegen-plugin/plugin.xml 
(from r965030, axis/axis2/java/core/trunk/modules/tool/conf/codegen/plugin.xml)
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/tool/axis2-eclipse-codegen-plugin/plugin.xml?p2=axis/axis2/java/core/trunk/modules/tool/axis2-eclipse-codegen-plugin/plugin.xml&p1=axis/axis2/java/core/trunk/modules/tool/conf/codegen/plugin.xml&r1=965030&r2=965268&rev=965268&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/tool/conf/codegen/plugin.xml (original)
+++ 
axis/axis2/java/core/trunk/modules/tool/axis2-eclipse-codegen-plugin/plugin.xml 
Sun Jul 18 18:05:10 2010
@@ -20,84 +20,7 @@
   ~ under the License.
   -->
 
-<plugin
-   id="Axis2_Codegen_Wizard"
-   name="Axis2 Codegen Wizard Plug-in"
-   version="@eclipse.plugins.version@"
-   provider-name="Apache Software Foundation"
-   class="org.apache.axis2.tool.codegen.eclipse.plugin.CodegenWizardPlugin">
-
-   <runtime>
-      <library name="Axis2CodegenWizard.jar">
-         <export name="*"/>
-      </library>
-      <library 
name="lib/geronimo-activation_1.1_sp...@geronimo.spec.activation.version@.jar">
-         <export name="*"/>
-      </library>
-      <library 
name="lib/geronimo-stax-api_1.0_sp...@geronimo.spec.stax.version@.jar">
-         <export name="*"/>
-      </library>
-      <library name="./lib/axiom-a...@axiom.version@.jar">
-         <export name="*"/>
-      </library>
-      <library name="./lib/axiom-d...@axiom.version@.jar">
-         <export name="*"/>
-      </library>
-      <library name="./lib/axiom-im...@axiom.version@.jar">
-         <export name="*"/>
-      </library>
-      <library name="lib/commons-loggi...@commons.logging.version@.jar">
-         <export name="*"/>
-      </library>
-       <library name="lib/axi...@version@.jar">
-       <export name="*"/>
-       </library>
-       <library name="lib/log...@log4j.version@.jar">
-         <export name="*"/>
-      </library>
-      <library name="lib/neet...@neethi.version@.jar">
-         <export name="*"/>
-      </library>
-      <library name="lib/wsdl...@wsdl4j.version@.jar">
-         <export name="*"/>
-      </library>
-      <library name="lib/xmlbea...@xmlbeans.version@.jar">
-         <export name="*"/>
-      </library>
-      <library name="lib/xmlsche...@xmlschema.version@.jar">
-         <export name="*"/>
-      </library>
-      <library name="lib/wod...@woden.version@.jar">
-         <export name="*"/>
-      </library>
-      <library name="lib/commons-httpclie...@commons.httpclient.version@.jar">
-         <export name="*"/>
-      </library>
-      <library name="lib/commons-cod...@commons.codec.version@.jar">
-         <export name="*"/>
-      </library>
-      <library name="lib/jibx-bi...@jibx.version@.jar">
-         <export name="*"/>
-      </library>
-      <library name="lib/jibx-r...@jibx.version@.jar">
-         <export name="*"/>
-      </library>
-      <library name="lib/ma...@javax.mail.version@.jar">
-         <export name="*"/>
-      </library>
-      <library 
name="lib/geronimo-ws-metadata_2.0_sp...@geronimo.spec.metadata.version@.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-
-   <requires>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.ui.ide"/>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.apache.ant"/>
-   </requires>
-
+<plugin>
    <extension
          point="org.eclipse.ui.newWizards">
       <category

Modified: 
axis/axis2/java/core/trunk/modules/tool/axis2-eclipse-codegen-plugin/pom.xml
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/tool/axis2-eclipse-codegen-plugin/pom.xml?rev=965268&r1=965267&r2=965268&view=diff
==============================================================================
--- 
axis/axis2/java/core/trunk/modules/tool/axis2-eclipse-codegen-plugin/pom.xml 
(original)
+++ 
axis/axis2/java/core/trunk/modules/tool/axis2-eclipse-codegen-plugin/pom.xml 
Sun Jul 18 18:05:10 2010
@@ -30,6 +30,7 @@
     </parent>
     <artifactId>axis2.eclipse.codegen.plugin</artifactId>
     <name>Apache Axis2 - tool - Eclipse Codegen Plugin</name>
+    <packaging>bundle</packaging>
     <description>The Axis 2 Eclipse Codegen Plugin for wsdl2java and 
java2wsdl</description>
     <dependencies>
         <dependency>
@@ -141,126 +142,24 @@
             </exclusions>
         </dependency>
         <dependency>
-            <groupId>org.apache.geronimo.specs</groupId>
-            <artifactId>geronimo-javamail_1.4_spec</artifactId>
-            <version>${geronimo.spec.javamail.version}</version>
-        </dependency>
-       <dependency>
-            <groupId>commons-logging</groupId>
-            <artifactId>commons-logging</artifactId>
-            <version>${commons.logging.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.axis2</groupId>
-            <artifactId>axis2</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.axis2</groupId>
-            <artifactId>axis2-codegen</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.axis2</groupId>
-            <artifactId>axis2-kernel</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.axis2</groupId>
-            <artifactId>axis2-adb</artifactId>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>axis2-java2wsdl</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.apache.axis2</groupId>
+            <groupId>${project.groupId}</groupId>
             <artifactId>axis2-adb-codegen</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.apache.axis2</groupId>
-            <artifactId>axis2-java2wsdl</artifactId>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>axis2-xmlbeans</artifactId>
             <version>${project.version}</version>
         </dependency>
         <dependency>
-            <groupId>org.apache.geronimo.specs</groupId>
-            <artifactId>geronimo-stax-api_1.0_spec</artifactId>
-            <version>${geronimo.spec.stax.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.neethi</groupId>
-            <artifactId>neethi</artifactId>
-            <version>${neethi.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>wsdl4j</groupId>
-            <artifactId>wsdl4j</artifactId>
-            <version>${wsdl4j.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.xmlbeans</groupId>
-            <artifactId>xmlbeans</artifactId>
-            <version>${xmlbeans.version}</version>
-                <exclusions>
-                    <exclusion>
-                        <groupId>stax</groupId>
-                        <artifactId>stax-api</artifactId>
-                    </exclusion>
-                </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.ws.commons.schema</groupId>
-            <artifactId>XmlSchema</artifactId>
-            <version>${xmlschema.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.ant</groupId>
-            <artifactId>ant</artifactId>
-            <version>${ant.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.woden</groupId>
-            <artifactId>woden-api</artifactId>
-            <version>${woden.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>commons-httpclient</groupId>
-            <artifactId>commons-httpclient</artifactId>
-            <version>${commons.httpclient.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>commons-codec</groupId>
-            <artifactId>commons-codec</artifactId>
-            <version>${commons.codec.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.jibx</groupId>
-            <artifactId>jibx-bind</artifactId>
-            <version>${jibx.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.jibx</groupId>
-            <artifactId>jibx-run</artifactId>
-            <version>${jibx.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.woden</groupId>
-            <artifactId>woden-impl-dom</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
-            <version>${log4j.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>javax.mail</groupId>
-            <artifactId>mail</artifactId>
-            <version>${javax.mail.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.geronimo.specs</groupId>
-            <artifactId>geronimo-ws-metadata_2.0_spec</artifactId>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>axis2-jibx</artifactId>
+            <version>${project.version}</version>
         </dependency>
     </dependencies>
     <build>
@@ -271,6 +170,14 @@
                     <exclude>**/*.java</exclude>
                 </excludes>
             </resource>
+            <resource>
+                <directory>.</directory>
+                <includes>
+                    <include>plugin.xml</include>
+                    <include>icons/**</include>
+                    <include>help_toc.xml</include>
+                </includes>
+            </resource>
         </resources>
         <plugins>
             <plugin>
@@ -289,198 +196,116 @@
                 </executions>
             </plugin>
             <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
+                <artifactId>maven-eclipse-plugin</artifactId>
+                <version>2.8</version>
                 <configuration>
-                    <source>1.5</source>
-                    <target>1.5</target>
+                    <!-- We don't use the PDE mode here because we don't want 
maven-eclipse-plugin to tamper with
+                         the manifest generated by maven-bundle-plugin -->
+                    <additionalBuildcommands>
+                        
<buildcommand>org.eclipse.pde.ManifestBuilder</buildcommand>
+                        
<buildcommand>org.eclipse.pde.SchemaBuilder</buildcommand>
+                    </additionalBuildcommands>
+                    <additionalProjectnatures>
+                        
<projectnature>org.eclipse.pde.PluginNature</projectnature>
+                    </additionalProjectnatures>
                 </configuration>
             </plugin>
             <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-assembly-plugin</artifactId>
+                <artifactId>maven-dependency-plugin</artifactId>
+                <version>2.1</version>
                 <executions>
                     <execution>
-                        <id>distribution-package</id>
-                        <phase>package</phase>
+                        <!-- This copies the dependencies so that they can be 
located by Eclipse -->
+                        <id>copy-dependencies</id>
+                        <phase>process-sources</phase>
                         <goals>
-                            <goal>attached</goal>
+                            <goal>copy-dependencies</goal>
                         </goals>
                         <configuration>
-                            <descriptors>
-                                
<descriptor>${pom.basedir}/eclipse-codegen-plugin-assembly.xml</descriptor>
-                            </descriptors>
-                            <finalName>dist</finalName>
+                            <outputDirectory>lib</outputDirectory>
+                            <overWriteReleases>false</overWriteReleases>
+                            <overWriteSnapshots>false</overWriteSnapshots>
+                            <overWriteIfNewer>true</overWriteIfNewer>
                         </configuration>
                     </execution>
                 </executions>
             </plugin>
             <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-antrun-plugin</artifactId>
+                <artifactId>maven-clean-plugin</artifactId>
+                <version>2.3</version>
+                <configuration>
+                    <filesets>
+                        <fileset>
+                            <directory>lib</directory>
+                        </fileset>
+                        <fileset>
+                            <directory>META-INF</directory>
+                        </fileset>
+                    </filesets>
+                </configuration>
+            </plugin>
+            <plugin>   
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <version>2.1.0</version>
+                <extensions>true</extensions>
+                <configuration>
+                    <!-- Produce the manifest in the location expected by 
Eclipse -->
+                    <manifestLocation>META-INF</manifestLocation>
+                    <instructions>
+                        <!-- Embed all dependencies, except those which are 
provided by the Eclipse runtime -->
+                        
<Embed-Dependency>*;scope=compile|runtime;artifactId=!org.eclipse.*|commons-logging|wstx-asl|geronimo-activation_1.1_spec|geronimo-javamail_1.4_spec|geronimo-stax-api_1.0_spec|ant*</Embed-Dependency>
+                        <Embed-Directory>lib</Embed-Directory>
+                        <Embed-Transitive>true</Embed-Transitive>
+                        <!-- Exclude imports that are actually not used -->
+                        
<Import-Package>!org.dom4j*,!nu.xom,!org.jdom*,!javax.portlet,!com.sun.*,!org.apache.xmlbeans.*,!org.xmlpull.*,!org.apache.commons.io*,*</Import-Package>
+                        <Export-Package></Export-Package>
+                        <Bundle-Name>Axis2 Codegen Wizard Plug-in</Bundle-Name>
+                        
<Bundle-Activator>org.apache.axis2.tool.codegen.eclipse.plugin.CodegenWizardPlugin</Bundle-Activator>
+                        
<Bundle-SymbolicName>org.apache.axis2.eclipse.codegen.plugin;singleton:=true</Bundle-SymbolicName>
+                        <Bundle-ActivationPolicy>lazy</Bundle-ActivationPolicy>
+                        
<Bundle-RequiredExecutionEnvironment>J2SE-1.5</Bundle-RequiredExecutionEnvironment>
+                    </instructions>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.codehaus.gmaven</groupId>
+                <artifactId>gmaven-plugin</artifactId>
                 <executions>
                     <execution>
-                        <id>package</id>
+                        <id>extract-bundle-symbolicname-and-version</id>
                         <phase>package</phase>
+                        <goals>
+                            <goal>execute</goal>
+                        </goals>
                         <configuration>
-                            <tasks>
+                            <source>
+                                import java.util.jar.Manifest
                                 
-                                <property name="codegen.plugin.version"
-                                          
value="Axis2_Codegen_Wizard_${eclipse.plugins.version}"/>
-                                <property name="codegen.plugin.zip.name" 
value="axis2-eclipse-codegen-wizard.zip"/>
-                                <property name="codegen.plugin.jar.name" 
value="Axis2CodegenWizard.jar"/>
-                                <property name="src" value="./src"/>
-                                <property name="codegen.src.dir" 
value="../axis2-eclipse-codegen-plugin/src/main/java"/>
-                                <property name="output" 
value="../target/eclipse_plugins"/>
-                                <property name="output.target" 
value="${output}/release"/>
-                                <property name="plugin.output.dir" 
value="${output}/plugin"/>
-                                <property name="codegen.output.dir" 
value="${output}/code-gen"/>
-                                <property name="codegen.plugin.output.dir"
-                                          
value="${plugin.output.dir}/${codegen.plugin.version}"/>
-                                <property name="source.dir.name" value="src"/>
-                                <property name="lib.dir.name" value="lib"/>
-                                <property name="bin.dir.name" value="bin"/>
-                                <property name="help.dir.name" value="help"/>
-                                <property name="icons.dir.name" value="icons"/>
-                                <property name="plugin.project.file.name" 
value=".project"/>
-                                <property name="plugin.classpath.file.name" 
value=".classpath"/>
-                                <property name="plugin.help.file.name" 
value="help_toc.xml"/>
-                                <property name="codegen.resource.dir" 
value="../conf/codegen"/>
-                                <property name="codegen.help.resource.file"
-                                          
value="../../../modules/documentation/xdocs/tools/1_4/eclipse/wsdl2java-plugin.html"/>
-                                <property name="codegen.help.images.dir"
-                                          
value="../../../modules/documentation/xdocs/tools/1_4/eclipse/images"/>
-                                <property name="axis2.lib.dir" 
value="../../../target/lib"/>
-                                <property name="codegen.resource.dir" 
value="../conf/codegen"/>
-                                <delete 
dir="./target/plugin/${codegen.plugin.version}"/>
-                                <mkdir 
dir="./target/plugin/${codegen.plugin.version}"/>
-                                <delete dir="./target/dist"/>
-                                <mkdir dir="./target/dist"/>
-                                <!--Filter tokens for the copy command to 
filter the versions of external dependencies -->
-                                <filter token="eclipse.plugins.version" 
value="${eclipse.plugins.version}"/>
-                                <filter token="version" 
value="${project.version}"/>
-                                <filter 
token="geronimo.spec.activation.version"
-                                        
value="${geronimo.spec.activation.version}"/>
-                                <filter token="geronimo.spec.stax.version"
-                                        value="${geronimo.spec.stax.version}"/>
-                                <filter token="ant.version" 
value="${ant.version}"/>
-                                <filter token="axiom.version" 
value="${axiom.version}"/>
-                                <filter token="commons.logging.version" 
value="${commons.logging.version}"/>
-                                <filter token="neethi.version" 
value="${neethi.version}"/>
-                                <filter token="xmlbeans.version" 
value="${xmlbeans.version}"/>
-                                <filter token="xmlschema.version" 
value="${xmlschema.version}"/>
-                                <filter token="log4j.version" 
value="${log4j.version}"/>
-                                <filter token="wsdl4j.version" 
value="${wsdl4j.version}"/>
-                                <filter token="woden.version" 
value="${woden.version}"/>
-                                <filter token="commons.httpclient.version" 
value="${commons.httpclient.version}"/>
-                                <filter token="commons.codec.version" 
value="${commons.codec.version}"/>
-                                <filter token="jibx.version" 
value="${jibx.version}"/>
-                                <filter token="javax.mail.version" 
value="${javax.mail.version}"/>
-                                <filter token="geronimo.spec.metadata.version" 
value="${geronimo.spec.metadata.version}"/>
-                                <filter token="geronimo.spec.javamail.version" 
value="${geronimo.spec.javamail.version}"/>
-                                <filter token="stax.impl.version" 
value="${stax.impl.version}"/>                                
-                
-                                                               <!--
-                                                                 If it is 
neccessary to create the eclipse project manually without using "mvn 
eclipse:eclipse" command uncomment the following section which copies 
-                                                                 the required 
jars to the the project lib folder
-                                                                 -->
-
-
-                                <!--
-                                <property name="m2.local.repo" 
value="${settings.localRepository}"/>
-                                <mkdir dir="./lib"/>
-                                <copy todir="./lib" 
file="${m2.local.repo}/org/apache/geronimo/specs/geronimo-activation_1.1_spec/${geronimo.spec.activation.version}/geronimo-activation_1.1_spec-${geronimo.spec.activation.version}.jar"
 />
-                                <copy todir="./lib" 
file="${m2.local.repo}/org/apache/ant/ant/${ant.version}/ant-${ant.version}.jar"
 />
-                                <copy todir="./lib" 
file="${m2.local.repo}/org/apache/ws/commons/axiom/axiom-api/${axiom.version}/axiom-api-${axiom.version}.jar"
 />
-                                <copy todir="./lib" 
file="${m2.local.repo}/org/apache/ws/commons/axiom/axiom-dom/${axiom.version}/axiom-dom-${axiom.version}.jar"
 />
-                                <copy todir="./lib" 
file="${m2.local.repo}/org/apache/ws/commons/axiom/axiom-impl/${axiom.version}/axiom-impl-${axiom.version}.jar"
 />
-                                <copy todir="./lib" 
file="${m2.local.repo}/commons-logging/commons-logging/${commons.logging.version}/commons-logging-${commons.logging.version}.jar"
 />
-                                <copy todir="./lib" 
file="${m2.local.repo}/org/apache/neethi/neethi/${neethi.version}/neethi-${neethi.version}.jar"
 />
-                                <copy todir="./lib" 
file="${m2.local.repo}/org/apache/geronimo/specs/geronimo-stax-api_1.0_spec/${geronimo.spec.stax.version}/geronimo-stax-api_1.0_spec-${geronimo.spec.stax.version}.jar"
 />
-                                <copy todir="./lib" 
file="${m2.local.repo}/org/codehaus/woodstox/wstx-asl/${stax.impl.version}/wstx-asl-${stax.impl.version}.jar"
 />
-                                <copy todir="./lib" 
file="${m2.local.repo}/org/apache/xmlbeans/xmlbeans/${xmlbeans.version}/xmlbeans-${xmlbeans.version}.jar"
 />
-                                <copy todir="./lib" 
file="${m2.local.repo}/org/apache/ws/commons/schema/XmlSchema/${xmlschema.version}/XmlSchema-${xmlschema.version}.jar"
 />
-                                <copy todir="./lib" 
file="${m2.local.repo}/log4j/log4j/${log4j.version}/log4j-${log4j.version}.jar" 
/>
-                                <copy todir="./lib" 
file="${m2.local.repo}/wsdl4j/wsdl4j/${wsdl4j.version}/wsdl4j-${wsdl4j.version}.jar"
 />
-                                <copy todir="./lib" 
file="${m2.local.repo}/org/apache/woden/woden-api/${woden.version}/woden-api-${woden.version}.jar"
 />
-                                <copy todir="./lib" 
file="${m2.local.repo}/commons-codec/commons-codec/${commons.codec.version}/commons-codec-${commons.codec.version}.jar"
 />
-                                <copy todir="./lib" 
file="${m2.local.repo}/commons-httpclient/commons-httpclient/${commons.httpclient.version}/commons-httpclient-${commons.httpclient.version}.jar"
 />
-                                <copy todir="./lib" 
file="${m2.local.repo}/org/apache/axis2/axis2/${version}/axis2-${version}.jar" 
/>
-                                <copy todir="./lib" 
file="${m2.local.repo}/org/apache/geronimo/specs/geronimo-javamail_1.4_spec/${geronimo.spec.javamail.version}/geronimo-javamail_1.4_spec-${geronimo.spec.javamail.version}.jar"
 />
-                                <copy todir="./lib" 
file="${m2.local.repo}/javax/mail/mail/${javax.mail.version}/mail-${javax.mail.version}.jar"
 />
-                                <copy todir="./lib" 
file="${m2.local.repo}/org/apache/geronimo/specs/geronimo-ws-metadata_2.0_spec/${geronimo.spec.metadata.version}/geronimo-ws-metadata_2.0_spec-${geronimo.spec.metadata.version}.jar"
 />
-                                -->
-                                        
-                                <mkdir dir="./icons"/>
-                                <copy todir="./icons" overwrite="true">
-                                    <fileset dir="../conf/codegen/icons" />
-                                </copy>
-                                <copy todir="." 
file="../conf/codegen/build.properties" overwrite="true" filtering="on"/>
-                                <copy todir="." 
file="../conf/codegen/help_toc.xml" overwrite="true"/>
-                                <copy todir="." 
file="../conf/codegen/plugin.xml" overwrite="true" filtering="on"/>
-                                <copy todir="." 
file="../conf/codegen/.classpath" overwrite="true" filtering="on"/>
-                                <copy todir="." 
file="../conf/codegen/.project" overwrite="true" filtering="on"/>
-                                <copy todir="." 
file="../conf/codegen/readme.txt" overwrite="true"/>
-
-                                <unzip 
src="./target/axis2.eclipse.codegen.plugin-${pom.version}.jar"
-                                       
dest="./target/plugin/${codegen.plugin.version}"/>
-                                <!-- Copy to the same position with the 
filtering on-->
-                                <copy 
todir="./target/plugin/${codegen.plugin.version}" filtering="on">
-                                    <fileset dir="${codegen.resource.dir}">
-                                        <include name="plugin.xml"/>
-                                        <include name="build.properties"/>
-                                        <include 
name="${plugin.classpath.file.name}"/>
-                                    </fileset>
-                                </copy>
-                                <!-- copy the help directory -->
-                                <mkdir 
dir="./target/plugin/${codegen.plugin.version}/${help.dir.name}"/>
-                                <mkdir 
dir="./target/plugin/${codegen.plugin.version}/${help.dir.name}/${icons.dir.name}"/>
-                                <copy 
todir="./target/plugin/${codegen.plugin.version}/${help.dir.name}">
-                                    <fileset 
file="${codegen.help.resource.file}"/>
-                                </copy>
-                                <copy 
todir="./target/plugin/${codegen.plugin.version}/${help.dir.name}/${icons.dir.name}">
-                                    <fileset dir="${codegen.help.images.dir}"/>
-                                </copy>
-                                <!-- copy the  icons-->
-                                <mkdir 
dir="./target/plugin/${codegen.plugin.version}/${icons.dir.name}"/>
-                                <copy 
todir="./target/plugin/${codegen.plugin.version}/${icons.dir.name}">
-                                    <fileset 
dir="${codegen.resource.dir}/${icons.dir.name}"/>
-                                </copy>
-                                <!-- copy the lib files -->
-                                <mkdir dir="./target/plugin/temp"/>
-                                <unzip 
src="./target/dist-axis2-eclipse-codege-plugin.zip" 
dest="./target/plugin/temp"/>
-                                <mkdir 
dir="./target/plugin/${codegen.plugin.version}/lib"/>
-                                <copy 
todir="./target/plugin/${codegen.plugin.version}/lib">
-                                    <fileset dir="./target/plugin/temp/lib"/>
-                                </copy>
-                                <delete dir="./target/plugin/temp"/>
-                                <!-- copy the other project files-->
-                                <copy 
todir="./target/plugin/${codegen.plugin.version}">
-                                    <fileset 
file="${codegen.resource.dir}/${plugin.project.file.name}"/>
-                                    <fileset 
file="${codegen.resource.dir}/${plugin.help.file.name}"/>
-                                </copy>
-                                <!-- copy the classes to classes directory-->
-                                <mkdir 
dir="./target/plugin/${codegen.plugin.version}/classes"/>
-                                <copy 
todir="./target/plugin/${codegen.plugin.version}/classes">
-                                    <fileset 
dir="./target/plugin/${codegen.plugin.version}">
-                                        <include name="**/org/**"/>
-                                    </fileset>
-                                </copy>
-                                <!--Zip the classes to a jar file-->
-                                <zip 
destfile="./target/plugin/${codegen.plugin.version}/${codegen.plugin.jar.name}"
-                                     
basedir="./target/plugin/${codegen.plugin.version}/classes" update="true"/>
-                                <delete 
dir="./target/plugin/${codegen.plugin.version}/classes"/>
-                                <!--Zip the eclipse plugin to the target/dist 
directory -->
-                                <zip 
destfile="./target/dist/${codegen.plugin.zip.name}" basedir="./target/plugin"
-                                     update="true"/>
-                                <delete dir="./target/temp"/>
-                                <delete dir="./target/classes"/>
-                                <delete dir="./target/test-classes"/>
-                            </tasks>
+                                Manifest manifest = new Manifest(new 
FileInputStream("META-INF/MANIFEST.MF"))
+                                project.properties["bundle-symbolic-name"] = 
manifest.mainAttributes.getValue("Bundle-SymbolicName").find("^[^;]*") 
+                                project.properties["bundle-version"] = 
manifest.mainAttributes.getValue("Bundle-Version")
+                            </source>
                         </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-assembly-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>distribution-package</id>
+                        <phase>package</phase>
                         <goals>
-                            <goal>run</goal>
+                            <goal>single</goal>
                         </goals>
+                        <configuration>
+                            <descriptors>
+                                
<descriptor>${pom.basedir}/eclipse-codegen-plugin-assembly.xml</descriptor>
+                            </descriptors>
+                            <finalName>dist</finalName>
+                        </configuration>
                     </execution>
                 </executions>
             </plugin>


Reply via email to