You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ak...@apache.org on 2006/07/13 02:05:02 UTC

svn commit: r421466 - in /directory/sandbox/oersoy/ads.performance.testing/src: main/resources/META-INF/maven/archetype.xml site/apt/documentation.apt

Author: akarasulu
Date: Wed Jul 12 17:05:01 2006
New Revision: 421466

URL: http://svn.apache.org/viewvc?rev=421466&view=rev
Log:
applying oles patch from DIR-188

Modified:
    directory/sandbox/oersoy/ads.performance.testing/src/main/resources/META-INF/maven/archetype.xml
    directory/sandbox/oersoy/ads.performance.testing/src/site/apt/documentation.apt

Modified: directory/sandbox/oersoy/ads.performance.testing/src/main/resources/META-INF/maven/archetype.xml
URL: http://svn.apache.org/viewvc/directory/sandbox/oersoy/ads.performance.testing/src/main/resources/META-INF/maven/archetype.xml?rev=421466&r1=421465&r2=421466&view=diff
==============================================================================
--- directory/sandbox/oersoy/ads.performance.testing/src/main/resources/META-INF/maven/archetype.xml (original)
+++ directory/sandbox/oersoy/ads.performance.testing/src/main/resources/META-INF/maven/archetype.xml Wed Jul 12 17:05:01 2006
@@ -1,10 +0,0 @@
-<archetype>
-  <id>ads.performance.testing</id>
-	<testSources>
-   		<testSource>src/test/java/ADSPerformanceTest.java</testSource>
-   	</testSources>
-  <resources>
-    <resource>inputs/configuration/server.xml</resource>
-    <resource>inputs/ldif/performance.ldif</resource>
-  </resources>
-</archetype>

Modified: directory/sandbox/oersoy/ads.performance.testing/src/site/apt/documentation.apt
URL: http://svn.apache.org/viewvc/directory/sandbox/oersoy/ads.performance.testing/src/site/apt/documentation.apt?rev=421466&r1=421465&r2=421466&view=diff
==============================================================================
--- directory/sandbox/oersoy/ads.performance.testing/src/site/apt/documentation.apt (original)
+++ directory/sandbox/oersoy/ads.performance.testing/src/site/apt/documentation.apt Wed Jul 12 17:05:01 2006
@@ -62,7 +62,7 @@
      Modify it so that in contains the baseline testing setup 
      and tests for ADS.
      
-* Edit src/main/resources/META-INF/maven/archetype.xml
+* Edit src/main/resources/META-INF/archetype.xml
  
      The archetype.xml file tells maven which resources to include
      when creating projects of this type.
@@ -125,3 +125,137 @@
      mvn eclipse:eclipse
      
      Now just import using eclipse's File > Import
+
+* Next Steps
+
+** Update the dependencies on the ads.performance.archetype testing
+
+     Add the ADS api project dependencies to the dependencies list of the performance.testing.archetype pom.
+     
+     This is so the unit tests can access the API.
+
+** Create one or more baseline LDIF file(s)
+
+    The performance.ldif file in the input directory is currently empty.
+    One or more of these files should be created, such that the unit
+    tests can run them.
+    
+    We were also discussing creating a mojo that can generate these files, or
+    using SLAMD.  It would be great to have a mojo that just wrapped SLAMD,
+    that way the we can just create another input directory for the file
+    SLAMD uses to generate the LDIF files, and this would automatically
+    be run during the generate sources phase of the maven lifecycle.
+
+** Create the ADS Testing Setup
+    
+    The following setup should be done in the public void SetUp() method of each unit test contained in the peformance.testing.archetype archetype.
+
+    * Create an instance of the server.xml configuration contained in the archetype input directory
+    * Create an instance of ADS.
+    * Configure the ADS instance with the server.xml instance.
+    * Configure the ADS instance with the server.xml instance.
+    * Run each unit test with the configured ADS instance.
+
+** Write the ADS Unit Tests
+
+   I think there are unit tests already, so now we just need to sanitize them so that they provide a suitable
+   starting point, and put them in the archetype's unit testing directory, along with ADSPerformanceTest.java, 
+   which is currently just the default test that comes with any generic maven project.
+
+** SLAMD LDIF Generation mojo Command
+
+     The command below will create a baseline for the ldif generation mojo:
+     
+     mvn archetype:create -DgroupId=org.apache.ads.peformance.testing.ldif.generation.mojo -DartifactId=ldif.generation.mojo -DarchetypeArtifactId=maven-archetype-mojo
+
+** Completing the Mojo
+
+    The mojo needs to perform the following activities (This is rough):
+    
+    * Read the configuration file for generating the ldif files (Delegate to SLAMD)
+    
+    * Generate the files (Delegate to SLAMD)
+
+
+*** Creating another directory for the SLAMD configuration file(s)
+
+    Please see the general instructions for creating the performance testing archetype.
+    
+    For now we'll assume we have the directory inputs/slamd/configuration
+    available, and that it contains a baseline configuration file for generating ldif file(s)
+    called "slamd.cfg".
+
+*** Specify the location of the SLAMD configuration files in the mojo
+
+-----------------------------------------------------------------
+    private static final String SLAMD_CONFIGURATION_FILE_LOCATION = "inputs/slamd/slamd.cfg";
+    private static final String SLAMD_GENERATION_OUTPUT_DIRECTORY = "inputs/ldif/;
+-----------------------------------------------------------------
+
+*** Binding the Mojo to the maven lifecycle in the performance.testing.archetype archetype  
+
+    The ldif.generation.mojo now needs to be bound to the maven lifecycle's generate source phase.
+    
+    This is done in the code of the mojo:
+    
+-----------------------------------------------------------------------------------------------------------
+    
+    /**
+     * @goal generate
+     * @phase generate-sources
+     * @description Generates the ldif file(s) and puts them in the ldif input directory
+     */
+-----------------------------------------------------------------------------------------------------------
+    
+** Updating the pom of the performance.testing.archetype archetype  
+
+    Open the src/main/resources/archetype-resources/pom.xml and add the following build section right under the dependencies section
+    (I think ADS is using JDK 1.5, so I added that to the configuration of the compiler plugin - this should be set to the 
+    version of the JDK used):
+    
+---------------------------------------------------------------------------------------------------------
+      <build>
+		<plugins>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-compiler-plugin</artifactId>
+				<configuration>
+					<source>1.5</source>
+					<target>1.5</target>
+				</configuration>
+			</plugin>
+			<plugin>
+                <groupId>org.apache.ads.peformance.testing.ldif.generation.mojo</groupId>
+                <artifactId>ldif.generation.mojo</artifactId>
+                <version>1.0-SNAPSHOT</version>
+                <executions>
+                    <execution>
+                        <id>generate</id>
+                        <goals>
+                        	<goal>generate</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+		</plugins>
+	</build>
+---------------------------------------------------------------------------------------------------------
+     
+* Testing the Mojo with the performance testing archetype
+
+    The process is the same as before.  We do:
+    
+    mvn archetype:create -DarchetypeVersion=1.0-SNAPSHOT -DarchetypeGroupId=org.apache.ads.archetypes -DgroupId=mavenComplainsIfWeDontGiveOneButWeDontNeedOne -DarchetypeArtifactId=ads.performance.testing -DartifactId=ads.sample.performance.testing 
+    
+    However, now before we run tests the mojo will create the ldif files for us.
+    
+    Thus the file names that the mojo creates, must be used in the setup of the 
+    tests.
+    
+    This would make it attractive to perhaps create multiple archetypes for 
+    specific tests, that are just slight variations of eachother.
+    
+    That way we don't need to change too much stuff in the setup section 
+    of each testing project.
+    
+    
\ No newline at end of file