protoj.lang.internal
Class SubjectProjectFeature

java.lang.Object
  extended by protoj.lang.internal.SubjectProjectFeature

public final class SubjectProjectFeature
extends java.lang.Object

Responsible for creating an instance of StandardProject representing one of the test projects. When the createTestProject(ProtoProject, String, String, String, String) method returns, the test project will have been created in the protoj project target directory by using the source project directory and protoj lib directory as the source files to copy. Any existing project will automatically be deleted first.

As an example this instance can be used to create a target/helloworld project based on the example/helloworld and lib/*.jar source files.

This is really TestProjectFeature, but junit then assumes it's a test and fails it.

Author:
Ashley Williams

Constructor Summary
SubjectProjectFeature()
           
 
Method Summary
 StandardProject createTestProject(ProtoProject parent, java.lang.String relativeSourceDir, java.lang.String scriptName, java.lang.String includedJars, java.lang.String excludedJars)
          See SubjectProjectFeature class description.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SubjectProjectFeature

public SubjectProjectFeature()
Method Detail

createTestProject

public StandardProject createTestProject(ProtoProject parent,
                                         java.lang.String relativeSourceDir,
                                         java.lang.String scriptName,
                                         java.lang.String includedJars,
                                         java.lang.String excludedJars)
See SubjectProjectFeature class description.

Parameters:
parent -
relativeSourceDir - the name of the directory relative to the project root containing the files that make up the test project: eg "example/helloworld"
scriptName - the name of the script used to start the test project: eg "helloworld.sh"
includedJars - the jars from the lib directory that should be included when copying to the test project
excludedJars - the jars from the lib directory that should be excluded when copying to the test project
Returns: