Author: ceki
Date: Mon Jul 17 22:00:14 2006
New Revision: 599

Modified:
   slf4j/trunk/build.xml
   slf4j/trunk/tests/build.xml
Log:

Attempt at separation of API and Binding.



Modified: slf4j/trunk/build.xml
==============================================================================
--- slf4j/trunk/build.xml       (original)
+++ slf4j/trunk/build.xml       Mon Jul 17 22:00:14 2006
@@ -46,6 +46,7 @@
        </target>
 
        <path id="regular.classpath">
+               <!-- nothing to be defined -->
        </path>
 
 
@@ -114,47 +115,93 @@
        </fail>
        </target>
 
-       <!-- test-compile.jar is useful during testing of SLF4J itself. 
-            The actual binding is the Simple binding.
-        -->
-       <target name="test-compile.jar" depends="init">
-               <antcall target="compile-IMPL">
-                       <param name="IMPL" value="Simple" />
-                       <param name="IMPL.CLASSPATH" value="regular.classpath" 
/>
-               </antcall>
-
-               <jar jarfile="test-compile.jar" 
-                        basedir="${tmp.javac.dest}" 
-                        includes="${SLF4J_STEM}/**/*.class">
-               </jar>
-       </target>
+       <!-- 
=================================================================== -->
+       <!-- slf4j-test.jar is used during testing of SLF4J. It contains        
 -->
+       
+       <!-- 
=================================================================== -->
+       
+       <target name="slf4j-test.jar" depends="init">
+               <antcall target="compile4test"/>
                
-       <!-- compile.jar is useful during development of SLF4J itself. It 
contains
-         .class files for java files which cannot be compiled without prior 
-         filtering. The actual binding is the Simple binding.
-       --> 
-       <target name="compile.jar" depends="init">
-               <antcall target="compile-IMPL">
-                       <param name="IMPL" value="Simple" />
-                       <param name="IMPL.CLASSPATH" value="regular.classpath" 
/>
-               </antcall>
-
-               <jar jarfile="compile.jar" basedir="${tmp.javac.dest}" 
-                        includes="${SLF4J_STEM}/impl/Static*Binder.class">
+               <jar jarfile="slf4j-test.jar" basedir="${tmp.javac.dest}" 
+                        includes="${SLF4J_STEM}/LoggerFactory.class,
+                                  ${SLF4J_STEM}/MarkerFactory.class,
+                                  ${SLF4J_STEM}/impl/*.class,
+                                  ${SLF4J_STEM}/impl/BasicMarkerFactory.class,
+                                  ${SLF4J_STEM}/impl/JDK*.class">
                </jar>
        </target>
 
-       <!-- 
=================================================================== -->
-       <!-- Generic target that can build NOP, Simple and JDK14 
implementations -->
-       <!--  as specified by the "jar-name" and "impl" parameters.             
 -->
-       <!-- 
=================================================================== -->
-       <target name="compile-IMPL" depends="init">
-               <!-- delete all previously existing files in tmp -->
+       <target name="pre-compile" depends="init">
+          <!-- delete all previously existing files in tmp -->
                <delete>
                        <fileset dir="tmp/" includes="**/*" />
                </delete>
 
-               <!-- copy a filtered version of slf4j to tmp/src -->
+               <copy todir="${tmp.java.source.dir}/${SLF4J_STEM}">
+                       <fileset dir="./src/java/${SLF4J_STEM}">
+                               <include name="**/*.java" />
+                       </fileset>
+               </copy>
+    </target>
+       
+       <!-- 
=================================================================== -->
+       <!-- Compile all available classes. Used for internal purposes.         
 -->
+       <!-- 
=================================================================== -->
+       <target name="compile4test" depends="init">
+               <echo>Compile core</echo>
+                       
+               <antcall target="pre-compile"/>
+               <antcall target="filter-sources">
+                 <param name="IMPL" value="Simple" />
+               </antcall>
+                                       
+               
+               <javac srcdir="${tmp.java.source.dir}" 
destdir="${tmp.javac.dest}" 
+                                                  deprecation="on"
+                                                  target="${target}"
+                                              source="${source}"
+                                              
includes="${SLF4J_STEM}/LoggerFactory.java,
+                                                
${SLF4J_STEM}/MarkerFactory.java,
+                                                ${SLF4J_STEM}/impl/JDK*.java,
+                                                
${SLF4J_STEM}/impl/SystemPropBinder.java
+                                                            
${SLF4J_STEM}/impl/Simple*.java,
+                                                                
${SLF4J_STEM}/impl/Static*.java" 
+                       
+                                                  
excludes="${SLF4J_STEM}/XXX.java"
+                                                        debug="${debug}">
+                                       </javac>
+               </target>
+               
+       
+       <!-- 
=================================================================== -->
+       <!-- Compile core API classes without implementaiton                    
 -->
+       <!-- 
=================================================================== -->
+       <target name="compile-core" depends="init">
+               <echo>Compile core</echo>
+               
+               <antcall target="pre-compile"/>
+                               
+               <javac srcdir="${tmp.java.source.dir}" 
destdir="${tmp.javac.dest}" 
+                                          deprecation="on"
+                                          target="${target}"
+                                      source="${source}"
+                                      includes="${SLF4J_STEM}/*.java,
+                                    ${SLF4J_STEM}/impl/MessageFormatter.java,
+                                        
${SLF4J_STEM}/impl/MarkerIgnoringBase.java,
+                                    ${SLF4J_STEM}/impl/Util.java
+                                    ${SLF4J_STEM}/spi/*.java" 
+                                          
excludes="${SLF4J_STEM}/LoggerFactory.java,
+                                            ${SLF4J_STEM}/MarkerFactory.java,
+                                            ${SLF4J_STEM}/impl/Static*.java"
+                                                debug="${debug}">
+                               </javac>
+       </target>
+       
+       <!-- ================================================================= 
-->
+       <!-- Copy filtered verson of source files using the ${IMPL} variable   
-->
+       <!-- ================================================================= 
-->
+       <target name="filter-sources" depends="init">
                <copy todir="${tmp.java.source.dir}">
                        <fileset dir="src/filtered-java">
                                <include name="**/*.java" />
@@ -163,28 +210,71 @@
                                <filter token="IMPL" value="${IMPL}" />
                        </filterset>
                </copy>
+       </target>               
+       
+       <!-- 
=================================================================== -->
+       <!-- Generic target that can build NOP, Simple and JDK14 
implementations -->
+       <!--  as specified by the "jar-name" and "impl" parameters.             
 -->
+       <!-- 
=================================================================== -->
+       <target name="compile-IMPL" depends="init">
+               <antcall target="compile-core"/>
 
-               <copy todir="${tmp.java.source.dir}/${SLF4J_STEM}">
-                       <fileset dir="./src/java/${SLF4J_STEM}">
+               <antcall target="filter-sources">
+                 <param name="IMPL" value="${IMPL}" />
+               </antcall>
+                       
+               <!-- copy a filtered version of slf4j to tmp/src -->
+               <copy todir="${tmp.java.source.dir}">
+                       <fileset dir="src/filtered-java">
                                <include name="**/*.java" />
                        </fileset>
+                       <filterset>
+                               <filter token="IMPL" value="${IMPL}" />
+                       </filterset>
                </copy>
-
+               
                <javac srcdir="${tmp.java.source.dir}" 
destdir="${tmp.javac.dest}" 
                           deprecation="on"
                           target="${target}"
                       source="${source}"
-                      includes="${SLF4J_STEM}/*.java,
-                    ${SLF4J_STEM}/impl/MessageFormatter.java,
-                    ${SLF4J_STEM}/impl/Util.java
-                     ${SLF4J_STEM}/impl/${IMPL}*.java
-                    ${SLF4J_STEM}/spi/*.java" 
+                      includes="${SLF4J_STEM}/LoggerFactory.java,
+                                ${SLF4J_STEM}/MarkerFactory.java,
+                     ${SLF4J_STEM}/impl/${IMPL}*.java" 
                                 debug="${debug}">
                        <classpath refid="${IMPL.CLASSPATH}" />
                </javac>
 
        </target>
 
+       <target name="slf4j-core.jar" depends="init, compile-core">
+               <antcall target="compile-core"/>
+               
+               <jar jarfile="slf4j-core.jar" 
+                        index="true" 
+                        basedir="${tmp.javac.dest}" 
+                        includes="${SLF4J_STEM}/**/*.class">
+                       <manifest>
+                               <section name="org/slf4j/">
+                                       <attribute name="Implementation-Title" 
value="SLF4J Core API" />
+                                       <attribute 
name="Implementation-Version" value="${version}" />
+                                       <attribute name="Implementation-Vendor" 
value="SLF4J.ORG" />
+                               </section>
+                       </manifest>
+               </jar>
+               
+               <jar jarfile="slf4j-core-source.jar" index="true" 
+                    basedir="tmp/src" 
+                    includes="${SLF4J_STEM}/**/*.java"> 
+                 <manifest> 
+                   <section name="org/slf4j/"> 
+                     <attribute name="Implementation-Title" value="SLF4J core 
API sources" /> 
+                     <attribute name="Implementation-Version" 
value="${version}" /> 
+                     <attribute name="Implementation-Vendor" value="SLF4J.ORG" 
/> 
+                   </section> 
+                 </manifest> 
+               </jar>
+       </target>
+       
        <!-- 
====================================================================== -->
        <!-- Generic target that can build NOP, Simple, log4j and JDK14         
    -->
        <!-- implementations as specified by the "jar-name" and "impl" 
parameters.  -->
@@ -199,13 +289,8 @@
                <jar jarfile="${jar-name}" 
                         index="true" 
                         basedir="${tmp.javac.dest}" 
-                        includes="${SLF4J_STEM}/I*.class,
-                             ${SLF4J_STEM}/Logger*.class,
-                             ${SLF4J_STEM}/Marker*.class,
-                             ${SLF4J_STEM}/spi/*FactoryBinder.class,
-                  ${SLF4J_STEM}/impl/MessageFormatter.class,
-                 ${SLF4J_STEM}/impl/Util.class,
-                             ${SLF4J_STEM}/impl/MarkerIgnoringBase.class,
+                        includes="${SLF4J_STEM}/LoggerFactory.class,
+                             ${SLF4J_STEM}/MarkerFactory.class,
                              ${SLF4J_STEM}/impl/BasicMarker*.class,
                          ${SLF4J_STEM}/impl/Static*Binder.class,
                   ${SLF4J_STEM}/impl/${IMPL}*.class">
@@ -218,7 +303,6 @@
                        </manifest>
                </jar>
                
-               
                <jar jarfile="${sourcejar-name}" index="true" 
                     basedir="tmp/src" 
                     includes="${SLF4J_STEM}/I*.java, 
@@ -333,7 +417,7 @@
        </target>
 
 
-       <target name="jar" depends="compile.jar, test-compile.jar, 
slf4j-nop.jar, jcl-over-slf4j.jar, 
+       <target name="jar" depends="slf4j-core.jar, slf4j-test.jar, 
slf4j-nop.jar, jcl-over-slf4j.jar, 
                                        slf4j-log4j12.jar, slf4j-log4j13.jar, 
                                        slf4j-simple.jar, slf4j-jdk14.jar, 
slf4j-jcl.jar" />
 
@@ -428,14 +512,17 @@
                <mkdir dir="${dist.tmp}/slf4j-${version}" />
 
                <copy todir="${dist.tmp}/slf4j-${version}">
-                       <fileset dir="./" includes="src/**,            
+                       <fileset dir="./" 
+                                    includes="src/**,            
                build.xml,
                build.properties,
                local.properties.sample,
                INSTALL.txt,
                LICENSE.txt,
               ${jcl.jar},
-              slf4j-*.jar" excludes="**/*.bak, 
+              slf4j-*.jar" 
+                       excludes="**/*.bak,
+                          slf4j-test*.jar,
                **/.#*" />
                </copy>
 

Modified: slf4j/trunk/tests/build.xml
==============================================================================
--- slf4j/trunk/tests/build.xml (original)
+++ slf4j/trunk/tests/build.xml Mon Jul 17 22:00:14 2006
@@ -10,11 +10,12 @@
                <pathelement location="${tests.source.home}" />
                <pathelement location="${tests.javac.dest}" />
                <pathelement location="${jakarta-oro.jar}" />
+               <pathelement location="../slf4j-core.jar" />
        </path>
 
        <path id="compile.classpath">
                <path refid="basic.classpath" />
-               <pathelement location="../test-compile.jar" />
+               <pathelement location="../slf4j-test.jar" />
                <pathelement location="../jcl104-over-slf4j.jar" />
        </path>
 
_______________________________________________
dev mailing list
[email protected]
http://slf4j.org/mailman/listinfo/dev

Reply via email to