svn commit: r17120 - trunk/src: argouml-app argouml-core-diagrams-sequence2 argouml-core-infra argouml-core-model argouml-core-model-euml argouml-core-model-mdr argouml-core-model-mdr/META-INF argouml-core-model/META-INF

Tom Morris <[email protected]>
Newsgroups gmane.comp.lang.uml.argouml.cvs
Message-ID <[email protected]>
Author: tfmorris
Date: 2009-04-23 14:12:29-0700
New Revision: 17120

Modified:
   trunk/src/argouml-app/build.properties
   trunk/src/argouml-app/build.xml
   trunk/src/argouml-core-diagrams-sequence2/build.properties
   trunk/src/argouml-core-diagrams-sequence2/build.xml
   trunk/src/argouml-core-infra/build.properties
   trunk/src/argouml-core-infra/build.xml
   trunk/src/argouml-core-model-euml/build.properties
   trunk/src/argouml-core-model-euml/build.xml
   trunk/src/argouml-core-model-mdr/META-INF/MANIFEST.MF
   trunk/src/argouml-core-model-mdr/build.properties
   trunk/src/argouml-core-model-mdr/build.xml
   trunk/src/argouml-core-model/META-INF/MANIFEST.MF
   trunk/src/argouml-core-model/build.properties
   trunk/src/argouml-core-model/build.xml

Log:
STARTED - task 19: Mark as custom build so Eclipse build/export doesn't delete build.xml files all the time.  Add three new build targets for headless PDE build 
http://argoeclipse.tigris.org/issues/show_bug.cgi?id=19

Modified: trunk/src/argouml-app/build.properties
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/build.properties?view=diff&pathrev=17120&r1=17119&r2=17120
==============================================================================
--- trunk/src/argouml-app/build.properties	(original)
+++ trunk/src/argouml-app/build.properties	2009-04-23 14:12:29-0700
@@ -1,3 +1,4 @@
+custom = true
 source.. = src/,\
            tests/
 bin.includes = META-INF/,\

Modified: trunk/src/argouml-app/build.xml
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/build.xml?view=diff&pathrev=17120&r1=17119&r2=17120
==============================================================================
--- trunk/src/argouml-app/build.xml	(original)
+++ trunk/src/argouml-app/build.xml	2009-04-23 14:12:29-0700
@@ -21,7 +21,7 @@
   <!-- Initialization target                                               -->
   <!-- =================================================================== -->
 
-  <target name="init">
+  <target name="init" depends="pde-init">
 
     <tstamp>
       <format pattern="yyyy" property="year"/>
@@ -50,7 +50,7 @@
 
     <property file="${argo.root.dir}/argouml-build/default.properties"/>
 
-    <property name="build.dir" value="build"/>
+    <property name="build.dir" location="build"/>
     <property name="build.classes" value="${build.dir}/classes"/>
 
     <property name="tests.classes" value="${build.dir}/tests/classes"/>
@@ -204,7 +204,9 @@
       <fileset dir="src/org/argouml"
           includes="*argo.ini"/>
     </copy>
-
+  </target>
+  
+  <target name="prepare-tests" depends="init">
     <!-- copy test files -->
     <copy todir="${tests.classes}/testmodels">
       <fileset dir="tests/testmodels" includes="**/**"/>
@@ -252,10 +254,13 @@
     	   includes="org/argouml/**/*.java"
            excludes="org/argouml/model/uml/**"
     	   optimize="${optimize}"
+           includeAntRuntime="no" 
+           bootclasspath="${bundleBootClasspath}" 
     	   srcdir="src"
     	   source="1.5"
     	   target="1.5">
       <compilerarg compiler="javac1.5" line="-Xlint:unchecked"/>
+      <compilerarg line="-log ${build.dir}/compile.log" compiler="org.eclipse.jdt.core.JDTCompilerAdapter" />
       <classpath>
         <path refid="src.compile.classpath"/>
       </classpath>
@@ -300,6 +305,7 @@
     <delete file="src/${version.package}/ArgoVersion.java"/>
 
     <antcall target="coverage-clean"/>
+    <antcall target="pde-clean" />
   </target>
 
 
@@ -386,7 +392,7 @@
     </target>
 
   <!-- run immediately before JUnit tests to make sure instrumented files are gone-->
-  <target name="coverage-clean" depends="init-coverage" unless="test.coverage">
+  <target name="coverage-clean" depends="init" unless="test.coverage">
     <mkdir dir="${build.dir}/instrumented"/>
     <delete>
       <fileset dir="${build.dir}/instrumented">
@@ -399,7 +405,7 @@
 
   </target>
   
-  <target name="coverage-report-clean" depends="init-coverage" if="test.coverage">
+  <target name="coverage-report-clean" depends="init" if="test.coverage">
     <mkdir dir="${tests.reports}"/>
     <mkdir dir="${tests.reports}/coverage"/>
     <mkdir dir="${tests.reports}/coverage/html"/>
@@ -433,7 +439,7 @@
   <!-- =================================================================== -->
   <!-- Prepare for the junit tests.                                        -->
   <!-- =================================================================== -->
-  <target name="junit-setup" depends="junit-classpath,compile-tests"/>
+  <target name="junit-setup" depends="junit-classpath,compile-tests,prepare-tests"/>
   
   <target name="junit-classpath" 
     depends="init, junit-classpath-coverage, junit-classpath-nocoverage"/>
@@ -625,7 +631,105 @@
     </java>
   </target>
 
-</project>
-<!-- End of file -->
+  
+
+  <!-- =================================================================== -->
+  <!-- Eclipse PDE targets from here to end of file                        -->
+  <!-- =================================================================== -->
+  <!-- 
+    Required targets (called in this order) are:
+      build.jars
+      gather.bin.parts - must create and populate "${destination.temp.folder}/<Bundle-SymbolicName>_<Bundle-Version>
+      gather.logs
+  -->
+  
+    <target name="pde-properties" if="eclipse.running">
+      <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter" />
+    </target>
+  
+    <target name="pde-init" depends="pde-properties">
+
+      <property name="bundleId" value="org.argouml.app" />
+
+      <!-- This property is magic and will have its value substituted by PDE -->
+      <property name="version.suffix" value="0.28.0.200904210336"/>
+      <property name="bundleVersion" value="${version.suffix}" />
+
+      <!-- Compiler settings. -->
+      <condition property="dir_bootclasspath" value="${java.home}/../Classes">
+        <os family="mac" />
+      </condition>
+      <property name="dir_bootclasspath" value="${java.home}/lib" />
+      <path id="path_bootclasspath">
+        <fileset dir="${dir_bootclasspath}">
+          <include name="*.jar" />
+        </fileset>
+      </path>
+      <property name="bootclasspath" refid="path_bootclasspath" />
+      <property name="bundleBootClasspath" value="${bootclasspath}" />
+
+      <condition property="pluginTemp" value="${buildTempFolder}/plugins">
+        <isset property="buildTempFolder" />
+      </condition>
+      <property name="pluginTemp" value="${basedir}" />
+      <condition property="build.result.folder" value="${pluginTemp}/${bundleId}_${bundleVersion}">
+        <isset property="buildTempFolder" />
+      </condition>
+      <property name="build.result.folder" value="${basedir}" />
+      <property name="plugin.destination" value="${basedir}" />            
+    </target>
+
+  <target name="pde-clean" depends="pde-init">
+    <delete file="${plugin.destination}/${bundleId}_*.jar" />
+    <delete file="${plugin.destination}/${bundleId}_*.zip" />
+  </target>
+
+  <target name="build.jars" depends="jar" description="Compile classes and build nested jars for the plug-in: ${bundleId}.">
+    <mkdir dir="${build.result.folder}/@dot"/>
+    <copy todir="${build.result.folder}/@dot" failonerror="true" overwrite="false">
+      <fileset dir="${build.classes}" includes="org/argouml/**" excludes="*.txt,*.bat,*.xml,*.sh" />
+    </copy>
+  </target>
+
+  <target name="gather.bin.parts" depends="init" if="destination.temp.folder">
+    <mkdir dir="${destination.temp.folder}/${bundleId}_${bundleVersion}" />
+    <copy todir="${destination.temp.folder}/${bundleId}_${bundleVersion}" failonerror="true" overwrite="false">
+      <fileset dir="${build.result.folder}/@dot" includes="**"/>
+    </copy>
+    
+    <copy todir="${destination.temp.folder}/${bundleId}_${bundleVersion}" failonerror="true" overwrite="false">
+      <fileset dir="${basedir}">
+        <include name="META-INF/"/>
+        <include name="plugin.xml"/>
+        <include name="plugin.properties"/>
+        <!-- Legacy plugin use only - shouldn't be needed for ArgoEclipse
+        <include name="lib/antlr-2.7.7.jar"/>
+        <include name="lib/antlr.LICENSE.txt"/>
+         -->
+        <include name="lib/commons-logging-1.0.2.jar"/>
+        <include name="lib/commons-logging.LICENSE.txt"/>
+        <include name="lib/gef-0.13.jar"/>
+        <include name="lib/gef.LICENSE.txt"/>
+        <include name="lib/ocl-argo-1.1.jar"/>
+        <include name="lib/ocl-argo.LICENSE.txt"/>
+        <include name="lib/swidgets-0.1.4.jar"/>
+        <include name="lib/swidgets.LICENSE.txt"/>
+        <include name="lib/toolbar-1.4.1-20071227.jar"/>
+        <include name="lib/toolbar.LICENSE.txt"/>
+      </fileset>
+    </copy>
+
+    <eclipse.versionReplacer path="${destination.temp.folder}/${bundleId}_${bundleVersion}" version="${bundleVersion}" />
+  </target>
+
+  <target name="gather.logs" depends="init" if="destination.temp.folder">
+    <mkdir dir="${destination.temp.folder}/${bundleId}_${bundleVersion}"/>
+    <copy todir="${destination.temp.folder}/${bundleId}_${bundleVersion}" failonerror="false" overwrite="false">
+      <fileset dir="${build.dir}">
+        <include name="compile.log"/>  
+      </fileset>
+    </copy>
+  </target>
 
+</project>
 

Modified: trunk/src/argouml-core-diagrams-sequence2/build.properties
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-sequence2/build.properties?view=diff&pathrev=17120&r1=17119&r2=17120
==============================================================================
--- trunk/src/argouml-core-diagrams-sequence2/build.properties	(original)
+++ trunk/src/argouml-core-diagrams-sequence2/build.properties	2009-04-23 14:12:29-0700
@@ -1,7 +1,6 @@
-source.argouml-core-diagrams-sequence2.jar = src/,\
-                                             tests/
+custom = true
+source.. = src/,\
+           tests/
 bin.includes = META-INF/,\
-               lib/toolbar-1.4.1-20071227.jar,\
-               lib/log4j-1.2.6.jar,\
-               argouml-core-diagrams-sequence2.jar,\
+               .,\
                plugin.properties

Modified: trunk/src/argouml-core-diagrams-sequence2/build.xml
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-diagrams-sequence2/build.xml?view=diff&pathrev=17120&r1=17119&r2=17120
==============================================================================
--- trunk/src/argouml-core-diagrams-sequence2/build.xml	(original)
+++ trunk/src/argouml-core-diagrams-sequence2/build.xml	2009-04-23 14:12:29-0700
@@ -18,13 +18,17 @@
 
   -->
 
-<project basedir="." default="compile" name="argouml">
+<project basedir="." default="compile" name="argouml-core-diagrams-sequence2">
 
   <!-- =================================================================== -->
   <!-- Initialization target                                               -->
   <!-- =================================================================== -->
 
-  <target name="init">
+  <target name="init" depends="pde-init">
+    
+    <property name="build.dir" location="build" />
+    <property name="build.classes" value="${build.dir}/classes" />
+
     <path id="src.compile.classpath">
       <fileset dir="../argouml-core-infra/build/">
         <include name="*.jar"/>
@@ -65,7 +69,7 @@
 	       />
 
     <path id="tests.compile.classpath">
-      <pathelement location="build/classes"/>
+      <pathelement location="${build.classes}"/>
       <pathelement location="${argo.tools.dir}/junit-3.8.2/junit.jar"/>
       <path refid="src.compile.classpath"/>
     </path>
@@ -78,7 +82,7 @@
     </path>
     
     <path id="tests.all.classpath">
-      <pathelement location="build/classes"/>
+      <pathelement location="${build.classes}"/>
       <pathelement location="build/tests/classes"/>
       <path refid="tests.run.classpath"/>
     </path>
@@ -107,8 +111,8 @@
   <!-- =================================================================== -->
 
   <target name="prepare" depends="init">
-    <mkdir dir="build"/>
-    <mkdir dir="build/classes"/>
+    <mkdir dir="${build.dir}"/>
+    <mkdir dir="${build.classes}"/>
   </target>
 
   <!-- =================================================================== -->
@@ -121,13 +125,16 @@
 
     <javac debug="on" 
     	   deprecation="on"
-    	   destdir="build/classes"
+    	   destdir="${build.classes}"
     	   includes="org/argouml/**/*.java"
     	   optimize="on"
+           includeAntRuntime="no" 
+           bootclasspath="${bundleBootClasspath}" 
     	   srcdir="src"
     	   source="1.5"
     	   target="1.5">
       <compilerarg compiler="javac1.5" line="-Xlint:unchecked"/>
+      <compilerarg line="-log '${build.dir}/compile.log'" compiler="org.eclipse.jdt.core.JDTCompilerAdapter" />      
       <classpath>
         <path refid="src.compile.classpath"/>
       </classpath>
@@ -139,11 +146,11 @@
   <!-- =================================================================== -->
   <target name="jar" depends="compile"
           description="Build the main jar file.">
-    <jar basedir="build/classes"
+    <jar basedir="${build.classes}"
          excludes="*.txt,*.bat,*.xml,*.sh" 
          includes="org/argouml/**"
          manifest="src/META-INF/MANIFEST.MF"
-	 jarfile="build/argouml-diagrams-sequence.jar" />
+	 jarfile="${build.dir}/argouml-diagrams-sequence.jar" />
   </target>
 
 
@@ -152,7 +159,8 @@
   <!-- =================================================================== -->
   <target name="clean" depends="init"
           description="Clean out all built files.">
-    <delete dir="build"/>
+    <delete dir="${build.dir}"/>
+    <antcall target="pde-clean" />
   </target>
 
 
@@ -215,7 +223,91 @@
     </junit>
   </target>
 
+
+  <!-- =================================================================== -->
+  <!-- Eclipse PDE targets from here to end of file                        -->
+  <!-- =================================================================== -->
+  <!-- 
+    Required targets (called in this order) are:
+      build.jars
+      gather.bin.parts - must create and populate "${destination.temp.folder}/<Bundle-SymbolicName>_<Bundle-Version>
+      gather.logs
+  -->
+  
+    <target name="pde-properties" if="eclipse.running">
+      <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter" />
+    </target>
+  
+    <target name="pde-init" depends="pde-properties">
+
+      <property name="bundleId" value="org.argouml.sequence2" />
+
+      <!-- This property is magic and will have its value substituted by PDE -->
+      <property name="version.suffix" value="0.28.0.200904210336"/>
+      <property name="bundleVersion" value="${version.suffix}" />
+
+      <!-- Compiler settings. -->
+      <condition property="dir_bootclasspath" value="${java.home}/../Classes">
+        <os family="mac" />
+      </condition>
+      <property name="dir_bootclasspath" value="${java.home}/lib" />
+      <path id="path_bootclasspath">
+        <fileset dir="${dir_bootclasspath}">
+          <include name="*.jar" />
+        </fileset>
+      </path>
+      <property name="bootclasspath" refid="path_bootclasspath" />
+      <property name="bundleBootClasspath" value="${bootclasspath}" />
+
+      <condition property="pluginTemp" value="${buildTempFolder}/plugins">
+        <isset property="buildTempFolder" />
+      </condition>
+      <property name="pluginTemp" value="${basedir}" />
+      <condition property="build.result.folder" value="${pluginTemp}/${bundleId}_${bundleVersion}">
+        <isset property="buildTempFolder" />
+      </condition>
+      <property name="build.result.folder" value="${basedir}" />
+      <property name="plugin.destination" value="${basedir}" />            
+    </target>
+
+  <target name="pde-clean" depends="pde-init">
+    <delete file="${plugin.destination}/${bundleId}_*.jar" />
+    <delete file="${plugin.destination}/${bundleId}_*.zip" />
+  </target>
+
+  <target name="build.jars" depends="jar" description="Compile classes and build nested jars for the plug-in: ${bundleId}.">
+    <mkdir dir="${build.result.folder}/@dot"/>
+    <copy todir="${build.result.folder}/@dot" failonerror="true" overwrite="false">
+      <fileset dir="${build.classes}" includes="org/argouml/**" excludes="*.txt,*.bat,*.xml,*.sh" />
+    </copy>
+  </target>
+
+  <target name="gather.bin.parts" depends="init" if="destination.temp.folder">
+    <mkdir dir="${destination.temp.folder}/${bundleId}_${bundleVersion}" />
+    <copy todir="${destination.temp.folder}/${bundleId}_${bundleVersion}" failonerror="true" overwrite="false">
+      <fileset dir="${build.result.folder}/@dot" includes="**"/>
+    </copy>
+    
+    <copy todir="${destination.temp.folder}/${bundleId}_${bundleVersion}" failonerror="true" overwrite="false">
+      <fileset dir="${basedir}">
+        <include name="META-INF/"/>
+        <include name="plugin.xml"/>
+        <include name="plugin.properties"/>
+      </fileset>
+    </copy>
+
+    <eclipse.versionReplacer path="${destination.temp.folder}/${bundleId}_${bundleVersion}" version="${bundleVersion}" />
+  </target>
+
+  <target name="gather.logs" depends="init" if="destination.temp.folder">
+    <mkdir dir="${destination.temp.folder}/${bundleId}_${bundleVersion}"/>
+    <copy todir="${destination.temp.folder}/${bundleId}_${bundleVersion}" failonerror="false" overwrite="false">
+      <fileset dir="${build.dir}">
+        <include name="compile.log"/>  
+      </fileset>
+    </copy>
+  </target>
+
 </project>
-<!-- End of file -->
 
 

Modified: trunk/src/argouml-core-infra/build.properties
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-infra/build.properties?view=diff&pathrev=17120&r1=17119&r2=17120
==============================================================================
--- trunk/src/argouml-core-infra/build.properties	(original)
+++ trunk/src/argouml-core-infra/build.properties	2009-04-23 14:12:29-0700
@@ -1,3 +1,4 @@
+custom = true
 bin.includes = META-INF/,\
                lib/log4j-1.2.6.jar,\
                plugin.properties

Modified: trunk/src/argouml-core-infra/build.xml
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-infra/build.xml?view=diff&pathrev=17120&r1=17119&r2=17120
==============================================================================
--- trunk/src/argouml-core-infra/build.xml	(original)
+++ trunk/src/argouml-core-infra/build.xml	2009-04-23 14:12:29-0700
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
-<project basedir="." default="jar" name="argouml infra subsystem">
-  <target name="init">
-    <property name="build.dir" value="build"/>
+<project default="jar" name="argouml infra subsystem">
+  <target name="init" depends="pde-init">
+    <property name="build.dir" location="build"/>
     <property name="src.jar" value="log4j-1.2.6.jar"/>
   </target>
 
@@ -20,6 +20,72 @@
   <!-- =================================================================== -->
   <target name="clean" depends="init"
           description="Clean out all built files.">
-    <delete dir="${build.dir}" quiet="true"/>
+    <delete dir="${build.dir}" quiet="true" />
+    <antcall target="pde-clean" />
   </target>
+
+
+  <!-- =================================================================== -->
+  <!-- Eclipse PDE targets from here to end of file                        -->
+  <!-- =================================================================== -->
+  <!-- 
+    Required targets (called in this order) are:
+    build.jars
+    gather.bin.parts - must create and populate "${destination.temp.folder}/<Bundle-SymbolicName>_<Bundle-Version>
+    gather.logs
+  -->
+
+  <target name="pde-init">
+
+    <property name="bundleId" value="org.argouml.core.infra" />
+
+    <!-- This property is magic and will have its value substituted by PDE -->
+    <property name="version.suffix" value="0.28.0.200904210336" />
+    <property name="bundleVersion" value="${version.suffix}" />
+
+    <condition property="pluginTemp" value="${buildTempFolder}/plugins">
+      <isset property="buildTempFolder" />
+    </condition>
+    <property name="pluginTemp" value="${basedir}" />
+    <condition property="build.result.folder" value="${pluginTemp}/${bundleId}_${bundleVersion}">
+      <isset property="buildTempFolder" />
+    </condition>
+    <property name="build.result.folder" value="${basedir}" />
+    <property name="plugin.destination" value="${basedir}" />
+  </target>
+
+  <target name="pde-clean" depends="pde-init">
+    <delete file="${plugin.destination}/${bundleId}_*.jar" />
+    <delete file="${plugin.destination}/${bundleId}_*.zip" />
+  </target>
+
+  <target name="build.jars" depends="jar">
+    <mkdir dir="${build.result.folder}/@dot"/>
+    <copy todir="${build.result.folder}/@dot" failonerror="true" overwrite="false">
+      <fileset dir="${build.dir}" includes="*.jar" />
+    </copy>
+  </target>
+
+  <target name="gather.bin.parts" depends="init" if="destination.temp.folder">
+    <mkdir dir="${destination.temp.folder}/${bundleId}_${bundleVersion}" />
+    <copy todir="${destination.temp.folder}/${bundleId}_${bundleVersion}" failonerror="true" overwrite="false">
+      <fileset dir="${build.result.folder}/@dot" includes="**" />
+    </copy>
+
+    <copy todir="${destination.temp.folder}/${bundleId}_${bundleVersion}" failonerror="true" overwrite="false">
+      <fileset dir="${basedir}">
+        <include name="META-INF/" />
+        <include name="plugin.xml" />
+        <include name="plugin.properties"/>
+        <include name="lib/log4j-1.2.6.jar" />
+        <include name="lib/log4j.LICENSE.txt" />
+      </fileset>
+    </copy>
+
+    <eclipse.versionReplacer path="${destination.temp.folder}/${bundleId}_${bundleVersion}" version="${bundleVersion}" />
+  </target>
+
+  <target name="gather.logs">
+  </target>
+
 </project>

Modified: trunk/src/argouml-core-model-euml/build.properties
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-euml/build.properties?view=diff&pathrev=17120&r1=17119&r2=17120
==============================================================================
--- trunk/src/argouml-core-model-euml/build.properties	(original)
+++ trunk/src/argouml-core-model-euml/build.properties	2009-04-23 14:12:29-0700
@@ -1,3 +1,4 @@
+custom = true
 bin.includes = META-INF/,\
                .,\
                plugin.xml,\

Modified: trunk/src/argouml-core-model-euml/build.xml
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-euml/build.xml?view=diff&pathrev=17120&r1=17119&r2=17120
==============================================================================
--- trunk/src/argouml-core-model-euml/build.xml	(original)
+++ trunk/src/argouml-core-model-euml/build.xml	2009-04-23 14:12:29-0700
@@ -15,14 +15,14 @@
   <!-- =================================================================== -->
   <!-- Initialization target                                               -->
   <!-- =================================================================== -->
-  <target name="init">
+  <target name="init" depends="pde-init">
     <tstamp/>
 
     <!-- argo.root.dir should be passed in to make sure it is correct -->
-    <property name="argo.root.dir" value="../.."/>
+    <property name="argo.root.dir" location="../.."/>
     <property name="argo.build.dir" value="${argo.root.dir}/build"/>
 
-    <property name="build.dir" value="build"/>
+    <property name="build.dir" location="build"/>
     <property name="build.classes" value="${build.dir}/classes"/>
     <property name="build.javas" value="${build.dir}/java"/>
 
@@ -134,10 +134,13 @@
            debug="${debug}"
            deprecation="${deprecation}"
            optimize="${optimize}"
+           includeAntRuntime="no" 
+           bootclasspath="${bundleBootClasspath}" 
            source="1.5"
            target="1.5"
        >
        <compilerarg compiler="javac1.5" line="-Xlint:unchecked"/>
+       <compilerarg line="-log '${build.dir}/compile.log'" compiler="org.eclipse.jdt.core.JDTCompilerAdapter" />      
        <classpath>
          <path refid="compile.classpath"/>
        </classpath>
@@ -213,6 +216,7 @@
         <include name="TEST-*.txt"/>
       </fileset>
     </delete>
+    <antcall target="pde-clean" />
   </target>
 
   <!-- =================================================================== -->
@@ -269,6 +273,92 @@
       	<exclude name="**/CVS/*"/>
       </fileset>
     </delete>
+    <antcall target="pde-clean" />
   </target>
-        
+
+
+  <!-- =================================================================== -->
+  <!-- Eclipse PDE targets from here to end of file                        -->
+  <!-- =================================================================== -->
+  <!-- 
+    Required targets (called in this order) are:
+      build.jars
+      gather.bin.parts - must create and populate "${destination.temp.folder}/<Bundle-SymbolicName>_<Bundle-Version>
+      gather.logs
+  -->
+  
+    <target name="pde-properties" if="eclipse.running">
+      <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter" />
+    </target>
+  
+    <target name="pde-init" depends="pde-properties">
+
+      <property name="bundleId" value="org.argouml.model.euml" />
+
+      <!-- This property is magic and will have its value substituted by PDE -->
+      <property name="version.suffix" value="0.28.0.200904210336"/>
+      <property name="bundleVersion" value="${version.suffix}" />
+
+      <!-- Compiler settings. -->
+      <condition property="dir_bootclasspath" value="${java.home}/../Classes">
+        <os family="mac" />
+      </condition>
+      <property name="dir_bootclasspath" value="${java.home}/lib" />
+      <path id="path_bootclasspath">
+        <fileset dir="${dir_bootclasspath}">
+          <include name="*.jar" />
+        </fileset>
+      </path>
+      <property name="bootclasspath" refid="path_bootclasspath" />
+      <property name="bundleBootClasspath" value="${bootclasspath}" />
+
+      <condition property="pluginTemp" value="${buildTempFolder}/plugins">
+        <isset property="buildTempFolder" />
+      </condition>
+      <property name="pluginTemp" value="${basedir}" />
+      <condition property="build.result.folder" value="${pluginTemp}/${bundleId}_${bundleVersion}">
+        <isset property="buildTempFolder" />
+      </condition>
+      <property name="build.result.folder" value="${basedir}" />
+      <property name="plugin.destination" value="${basedir}" />            
+    </target>
+
+  <target name="pde-clean" depends="pde-init">
+    <delete file="${plugin.destination}/${bundleId}_*.jar" />
+    <delete file="${plugin.destination}/${bundleId}_*.zip" />
+  </target>
+
+  <target name="build.jars" depends="jar" description="Compile classes and build nested jars for the plug-in: ${bundleId}.">
+    <mkdir dir="${build.result.folder}/@dot"/>
+    <copy todir="${build.result.folder}/@dot" failonerror="true" overwrite="false">
+      <fileset dir="${module.build.dest}" includes="org/argouml/**" excludes="*.txt,*.bat,*.xml,*.sh" />
+    </copy>
+  </target>
+
+  <target name="gather.bin.parts" depends="init" if="destination.temp.folder">
+    <mkdir dir="${destination.temp.folder}/${bundleId}_${bundleVersion}" />
+    <copy todir="${destination.temp.folder}/${bundleId}_${bundleVersion}" failonerror="true" overwrite="false">
+      <fileset dir="${build.result.folder}/@dot" includes="**"/>
+    </copy>
+    
+    <copy todir="${destination.temp.folder}/${bundleId}_${bundleVersion}" failonerror="true" overwrite="false">
+      <fileset dir="${basedir}">
+        <include name="META-INF/"/>
+        <include name="plugin.xml"/>
+        <include name="plugin.properties"/>
+      </fileset>
+    </copy>
+
+    <eclipse.versionReplacer path="${destination.temp.folder}/${bundleId}_${bundleVersion}" version="${bundleVersion}" />
+  </target>
+
+  <target name="gather.logs" depends="init" if="destination.temp.folder">
+    <mkdir dir="${destination.temp.folder}/${bundleId}_${bundleVersion}"/>
+    <copy todir="${destination.temp.folder}/${bundleId}_${bundleVersion}" failonerror="false" overwrite="false">
+      <fileset dir="${module.build.dir}">
+        <include name="compile.log"/>  
+      </fileset>
+    </copy>
+  </target>
+  
 </project>

Modified: trunk/src/argouml-core-model-mdr/META-INF/MANIFEST.MF
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-mdr/META-INF/MANIFEST.MF?view=diff&pathrev=17120&r1=17119&r2=17120
==============================================================================
--- trunk/src/argouml-core-model-mdr/META-INF/MANIFEST.MF	(original)
+++ trunk/src/argouml-core-model-mdr/META-INF/MANIFEST.MF	2009-04-23 14:12:29-0700
@@ -57,7 +57,7 @@
  testmodels
 Require-Bundle: org.argouml.core.model,
  org.argouml.core.infra
-Bundle-ClassPath: org.argouml.core.model.mdr.jar,
+Bundle-ClassPath: .,
  lib/jmi.jar,
  lib/jmiutils.jar,
  lib/mdrapi.jar,

Modified: trunk/src/argouml-core-model-mdr/build.properties
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-mdr/build.properties?view=diff&pathrev=17120&r1=17119&r2=17120
==============================================================================
--- trunk/src/argouml-core-model-mdr/build.properties	(original)
+++ trunk/src/argouml-core-model-mdr/build.properties	2009-04-23 14:12:29-0700
@@ -1,6 +1,7 @@
-source.org.argouml.core.model.mdr.jar = src/,\
-                                        build/java/
-bin.includes = org.argouml.core.model.mdr.jar,\
+custom = true
+source.. = src/,\
+           build/java/
+bin.includes = .,\
                META-INF/,\
                lib/jmi.jar,\
                lib/jmiutils.jar,\

Modified: trunk/src/argouml-core-model-mdr/build.xml
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-mdr/build.xml?view=diff&pathrev=17120&r1=17119&r2=17120
==============================================================================
--- trunk/src/argouml-core-model-mdr/build.xml	(original)
+++ trunk/src/argouml-core-model-mdr/build.xml	2009-04-23 14:12:29-0700
@@ -22,14 +22,16 @@
   <!-- =================================================================== -->
   <!-- Initialization target                                               -->
   <!-- =================================================================== -->
-  <target name="init">
+  <target name="init" depends="pde-init">
     <tstamp/>
 
     <!-- argo.root.dir should be passed in to make sure it is correct -->
     <!-- but it isn't if we are called property inheritance turned off -->
     <property name="argo.root.dir" value="${basedir}/.."/>
 
-    <property name="build.dir" value="build"/>
+    <!-- Use absolute path (ie location) for build dir so MDR generation works -->
+    <property name="build.dir" location="build"/>
+    
     <property name="build.classes" value="${build.dir}/classes"/>
     <property name="build.javas" value="${build.dir}/java"/>
 
@@ -184,7 +186,7 @@
   <target name="generate-internal" depends="init,generate-needed,generate-skipped" 
       unless="generate.notRequired">
     <!-- create directories -->
-    <delete>
+    <delete quiet="true">
       <fileset dir="${build.javas}">
     	<exclude name="**/.cvsignore"/>
       	<exclude name="**/readme-build-java.txt"/>
@@ -196,14 +198,12 @@
                put it in the caller's directory when called from argouml build
     -->
     <echo message="Generating JMI interfaces from ${xmi.file} in argouml-core-model-mdr"/>
-    <echo message="Storage file is in ${basedir}/${build.javas}"/>
-    <echo message="Sources written to ${build.javas}"/>
-    <mdr storageFile="${basedir}/${build.javas}/mymdr">
+    <mdr storageFile="${build.javas}/mymdr">
       <instantiate name="mof4models" /> 
       <readXMI file="${xmi.file}.xml" extent="mof4models" /> 
       <mapJava dir="${build.javas}" extent="mof4models" /> 
       
-      <!-- not sure this is correct, but try to generate a DTD -->
+      <!-- Generate a DTD for the metamodel in case anyone wants it -->
       <instantiate name="uml" extent="mof4models" package="UML"/> 
       <writeDTD file="${build.dir}/UML14.dtd" extent="uml"/>
 	
@@ -232,8 +232,10 @@
   	       	
   </target>
   
-  <target name="create-dirs">
+  <target name="create-dirs" depends="init">
+    <mkdir dir="${build.dir}"/>
     <mkdir dir="${build.classes}"/>
+    <mkdir dir="${build.javas}"/>
   </target>
 
   <!-- =================================================================== -->
@@ -248,10 +250,13 @@
            debug="${debug}"
            deprecation="${deprecation}"
            optimize="${optimize}"
+           includeAntRuntime="no" 
+           bootclasspath="${bundleBootClasspath}" 
            source="1.5"
            target="1.5"
        >
        <compilerarg compiler="javac1.5" line="-Xlint:unchecked"/>
+       <compilerarg line="-log ${build.dir}/compile.log" compiler="org.eclipse.jdt.core.JDTCompilerAdapter" />
        <classpath>
          <path refid="compile.classpath"/>
        </classpath>
@@ -377,12 +382,109 @@
   <!-- =================================================================== -->
   <target name="clean" depends="init"
           description="Clean out all built files.">
-    <delete includeemptydirs="true">
+    <delete includeemptydirs="true" quiet="true">
       <fileset dir="${build.dir}">
       	<exclude name="**/readme-build-java.txt"/>
       	<exclude name="**/.svn/*"/>
       </fileset>
     </delete>
+    <antcall target="pde-clean" />
   </target>
         
+
+  <!-- =================================================================== -->
+  <!-- Eclipse PDE targets from here to end of file                        -->
+  <!-- =================================================================== -->
+  <!-- 
+    Required targets (called in this order) are:
+      build.jars
+      gather.bin.parts - must create and populate "${destination.temp.folder}/<Bundle-SymbolicName>_<Bundle-Version>
+      gather.logs
+  -->
+  
+    <target name="pde-properties" if="eclipse.running">
+      <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter" />
+    </target>
+  
+    <target name="pde-init" depends="pde-properties">
+
+      <property name="bundleId" value="org.argouml.core.model.mdr" />
+
+      <!-- This property is magic and will have its value substituted by PDE -->
+      <property name="version.suffix" value="0.28.0.200904210336"/>
+      <property name="bundleVersion" value="${version.suffix}" />
+
+      <!-- Compiler settings. -->
+      <condition property="dir_bootclasspath" value="${java.home}/../Classes">
+        <os family="mac" />
+      </condition>
+      <property name="dir_bootclasspath" value="${java.home}/lib" />
+      <path id="path_bootclasspath">
+        <fileset dir="${dir_bootclasspath}">
+          <include name="*.jar" />
+        </fileset>
+      </path>
+      <property name="bootclasspath" refid="path_bootclasspath" />
+      <property name="bundleBootClasspath" value="${bootclasspath}" />
+
+      <condition property="pluginTemp" value="${buildTempFolder}/plugins">
+        <isset property="buildTempFolder" />
+      </condition>
+      <property name="pluginTemp" value="${basedir}" />
+      <condition property="build.result.folder" value="${pluginTemp}/${bundleId}_${bundleVersion}">
+        <isset property="buildTempFolder" />
+      </condition>
+      <property name="build.result.folder" value="${basedir}" />
+      <property name="plugin.destination" value="${basedir}" />            
+    </target>
+
+  <target name="pde-clean" depends="pde-init">
+    <delete file="${plugin.destination}/${bundleId}_*.jar" />
+    <delete file="${plugin.destination}/${bundleId}_*.zip" />
+  </target>
+
+  <target name="build.jars" depends="jar" description="Compile classes and build nested jars for the plug-in: ${bundleId}.">
+    <mkdir dir="${build.result.folder}/@dot"/>
+    <copy todir="${build.result.folder}/@dot" failonerror="true" overwrite="false">
+      <fileset dir="${build.classes}" includes="org/argouml/**" excludes="*.txt,*.bat,*.xml,*.sh" />
+      <fileset dir="${build.javas}" includes="**/*.class" excludes="*.txt,*.bat,*.xml,*.sh" />
+    </copy>
+  </target>
+
+  <target name="gather.bin.parts" depends="init" if="destination.temp.folder">
+    <mkdir dir="${destination.temp.folder}/${bundleId}_${bundleVersion}" />
+    <copy todir="${destination.temp.folder}/${bundleId}_${bundleVersion}" failonerror="true" overwrite="false">
+      <fileset dir="${build.result.folder}/@dot" includes="**"/>
+    </copy>
+    
+    <copy todir="${destination.temp.folder}/${bundleId}_${bundleVersion}" failonerror="true" overwrite="false">
+      <fileset dir="${basedir}">
+        <include name="META-INF/"/>
+        <include name="plugin.xml"/>
+        <include name="plugin.properties"/>
+
+        <include name="lib/jmi-license.txt"/>
+        <include name="lib/jmi.jar"/>
+        <include name="lib/jmiutils.jar"/>
+        <include name="lib/licenses.txt"/>
+        <include name="lib/mdrapi.jar"/>
+        <include name="lib/mof-license.txt"/>
+        <include name="lib/mof.jar"/>
+        <include name="lib/nbmdr.jar"/>
+        <include name="lib/openide-util.jar"/>
+      </fileset>
+    </copy>
+ 
+    <eclipse.versionReplacer path="${destination.temp.folder}/${bundleId}_${bundleVersion}" version="${bundleVersion}" />
+  </target>
+
+  <target name="gather.logs" depends="init" if="destination.temp.folder">
+    <mkdir dir="${destination.temp.folder}/${bundleId}_${bundleVersion}"/>
+    <copy todir="${destination.temp.folder}/${bundleId}_${bundleVersion}" failonerror="false" overwrite="false">
+      <fileset dir="${build.dir}">
+        <include name="compile.log"/>  
+      </fileset>
+    </copy>
+  </target>
+
 </project>

Modified: trunk/src/argouml-core-model/META-INF/MANIFEST.MF
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model/META-INF/MANIFEST.MF?view=diff&pathrev=17120&r1=17119&r2=17120
==============================================================================
--- trunk/src/argouml-core-model/META-INF/MANIFEST.MF	(original)
+++ trunk/src/argouml-core-model/META-INF/MANIFEST.MF	2009-04-23 14:12:29-0700
@@ -4,7 +4,6 @@
 Bundle-Vendor: %pluginProvider
 Bundle-SymbolicName: org.argouml.core.model;singleton:=true
 Bundle-Version: 0.28.0.qualifier
-Bundle-ClassPath: org.argouml.core.model.jar
 Bundle-Localization: plugin
 Export-Package: org.argouml.model
 Eclipse-BuddyPolicy: registered

Modified: trunk/src/argouml-core-model/build.properties
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model/build.properties?view=diff&pathrev=17120&r1=17119&r2=17120
==============================================================================
--- trunk/src/argouml-core-model/build.properties	(original)
+++ trunk/src/argouml-core-model/build.properties	2009-04-23 14:12:29-0700
@@ -1,7 +1,8 @@
-source.org.argouml.core.model.jar = src/,\
-                                    tests/
+custom = true
+source.. = src/,\
+           tests/
 bin.includes = META-INF/,\
-               org.argouml.core.model.jar,\
+               .,\
                plugin.xml,\
                plugin.properties
 src.includes = src/,\

Modified: trunk/src/argouml-core-model/build.xml
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model/build.xml?view=diff&pathrev=17120&r1=17119&r2=17120
==============================================================================
--- trunk/src/argouml-core-model/build.xml	(original)
+++ trunk/src/argouml-core-model/build.xml	2009-04-23 14:12:29-0700
@@ -5,11 +5,11 @@
 
 -->
 
-<project basedir="." default="compile" name="argouml model subsystem">
+<project default="compile" name="ArgoUML model subsystem">
   <!-- =================================================================== -->
   <!-- Initialization target                                               -->
   <!-- =================================================================== -->
-  <target name="init">
+  <target name="init" depends="pde-init">
 
     <!-- ============================================================= -->
     <!-- when executed using target "dist-release", the properties     -->
@@ -24,7 +24,7 @@
     <property file="${local.build.properties}"/>
     <property file="${user.build.properties}"/>
 
-    <property name="build.dir" value="build"/>
+    <property name="build.dir" location="build"/>
     <property name="build.classes" value="${build.dir}/classes"/>
       
     <property name="name" value="argouml-model"/>
@@ -48,10 +48,13 @@
            destdir="${build.classes}"
            includes="org/argouml/**/*.java"
            optimize="${optimize}"
+           includeAntRuntime="no" 
+           bootclasspath="${bundleBootClasspath}" 
            srcdir="src"
            source="1.5"
            target="1.5">
-       <compilerarg compiler="javac1.5" line="-Xlint:unchecked"/>
+       <compilerarg compiler="javac1.5" line="-Xlint:unchecked"/> 
+       <compilerarg line="-log '${build.dir}/compile.log'" compiler="org.eclipse.jdt.core.JDTCompilerAdapter" />      
     </javac>
   </target>
 
@@ -72,5 +75,92 @@
   <target name="clean" depends="init"
           description="Clean out all built files.">
     <delete dir="${build.dir}" quiet="true"/>
+    <antcall target="pde-clean" />
   </target>
+
+
+  <!-- =================================================================== -->
+  <!-- Eclipse PDE targets from here to end of file                        -->
+  <!-- =================================================================== -->
+  <!-- 
+    Required targets (called in this order) are:
+      build.jars
+      gather.bin.parts - must create and populate "${destination.temp.folder}/<Bundle-SymbolicName>_<Bundle-Version>
+      gather.logs
+  -->
+  
+    <target name="pde-properties" if="eclipse.running">
+      <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter" />
+    </target>
+  
+    <target name="pde-init" depends="pde-properties">
+
+      <property name="bundleId" value="org.argouml.core.model" />
+
+      <!-- This property is magic and will have its value substituted by PDE -->
+      <property name="version.suffix" value="0.28.0.200904210336"/>
+      <property name="bundleVersion" value="${version.suffix}" />
+
+      <!-- Compiler settings. -->
+      <condition property="dir_bootclasspath" value="${java.home}/../Classes">
+        <os family="mac" />
+      </condition>
+      <property name="dir_bootclasspath" value="${java.home}/lib" />
+      <path id="path_bootclasspath">
+        <fileset dir="${dir_bootclasspath}">
+          <include name="*.jar" />
+        </fileset>
+      </path>
+      <property name="bootclasspath" refid="path_bootclasspath" />
+      <property name="bundleBootClasspath" value="${bootclasspath}" />
+
+      <condition property="pluginTemp" value="${buildTempFolder}/plugins">
+        <isset property="buildTempFolder" />
+      </condition>
+      <property name="pluginTemp" value="${basedir}" />
+      <condition property="build.result.folder" value="${pluginTemp}/${bundleId}_${bundleVersion}">
+        <isset property="buildTempFolder" />
+      </condition>
+      <property name="build.result.folder" value="${basedir}" />
+      <property name="plugin.destination" value="${basedir}" />            
+    </target>
+
+  <target name="pde-clean" depends="pde-init">
+    <delete file="${plugin.destination}/${bundleId}_*.jar" />
+    <delete file="${plugin.destination}/${bundleId}_*.zip" />
+  </target>
+
+  <target name="build.jars" depends="jar" description="Compile classes and build nested jars for the plug-in: ${bundleId}.">
+    <mkdir dir="${build.result.folder}/@dot"/>
+    <copy todir="${build.result.folder}/@dot" failonerror="true" overwrite="false">
+      <fileset dir="${build.classes}" includes="org/argouml/**" excludes="*.txt,*.bat,*.xml,*.sh" />
+    </copy>
+  </target>
+
+  <target name="gather.bin.parts" depends="init" if="destination.temp.folder">
+    <mkdir dir="${destination.temp.folder}/${bundleId}_${bundleVersion}" />
+    <copy todir="${destination.temp.folder}/${bundleId}_${bundleVersion}" failonerror="true" overwrite="false">
+      <fileset dir="${build.result.folder}/@dot" includes="**"/>
+    </copy>
+    
+    <copy todir="${destination.temp.folder}/${bundleId}_${bundleVersion}" failonerror="true" overwrite="false">
+      <fileset dir="${basedir}">
+        <include name="META-INF/"/>
+        <include name="plugin.xml"/>
+        <include name="plugin.properties"/>
+      </fileset>
+    </copy>
+
+    <eclipse.versionReplacer path="${destination.temp.folder}/${bundleId}_${bundleVersion}" version="${bundleVersion}" />
+  </target>
+
+  <target name="gather.logs" depends="init" if="destination.temp.folder">
+    <mkdir dir="${destination.temp.folder}/${bundleId}_${bundleVersion}"/>
+    <copy todir="${destination.temp.folder}/${bundleId}_${bundleVersion}" failonerror="false" overwrite="false">
+      <fileset dir="${build.dir}">
+        <include name="compile.log"/>  
+      </fileset>
+    </copy>
+  </target>
+
 </project>

------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=1882220

To unsubscribe from this discussion, e-mail: [[email protected]].
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.