protoj.lang.internal
Class ProtoProject

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

public final class ProtoProject
extends java.lang.Object

Represents the use-cases available to be carried out against the protoj delegate.

Author:
Ashley Williams

Constructor Summary
ProtoProject()
          Constructor that uses system properties protoj.rootDir and protoj.scriptName.
ProtoProject(java.io.File rootDir, java.lang.String scriptName)
          Create with the specified project root directory and launch script.
ProtoProject(ProtoCore core)
          Create with the underlying bootstrap instance.
ProtoProject(java.lang.String[] args)
          See the StandardProject.StandardProject(String[], String, String) constructor for a discussion of the arguments to main().
 
Method Summary
 StandardProject createAcmeProjectDelegate()
          Copies the example acme project to the target directory and returns a representative project instance.
 StandardProject createAlienProjectDelegate()
          Copies the example alien project to the target directory and returns a representative project instance.
 StandardProject createHelloWorldDelegate()
          Copies the example helloworld project to the target directory and returns a representative project instance.
 void createNoDepArchive()
          Creates the no dependencies archive in the archive directory.
 StandardProject createSampleProjectDelegate(java.lang.String projectName, boolean includeAjc)
          Ensures the no dependencies jar file is present and executes it so that the requested sample project gets created.
 void dispatchCommands()
          Dispatches any commands held by this project.
 java.io.File extractSite()
          Extracts the googlecode website files to the target directory.
 StandardProject getDelegate()
          The main protoj domain object.
 java.lang.String getGroupId()
          The group id to use when publish to the maven repository.
 java.lang.String getJarName()
          The name of the protoj jar file that contains just a few third-party jar merges.
 java.io.File getNoDepFile()
           
 java.lang.String getNoDepJarName()
          The name of the protoj jar file that has been merged with all third party jar files.
 java.lang.String getProjectArchiveName()
          The name of the generated tar file.
 java.lang.String getProjectName()
          The name of the project that includes the version number.
 ReleaseCommand getReleaseCommand()
          The command used to invoke release functionality.
 ReleaseFeature getReleaseFeature()
          Delegate helper responsible for implementing the release procedure.
 SiteCommand getSiteCommand()
          The command used to create documentation for the protoj googlecode website.
 java.lang.String getVersionNumber()
          The project version number.
static void main(java.lang.String[] args)
          See ProtoProject.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ProtoProject

public ProtoProject()
Constructor that uses system properties protoj.rootDir and protoj.scriptName.


ProtoProject

public ProtoProject(java.lang.String[] args)
See the StandardProject.StandardProject(String[], String, String) constructor for a discussion of the arguments to main().

Parameters:
args -

ProtoProject

public ProtoProject(java.io.File rootDir,
                    java.lang.String scriptName)
Create with the specified project root directory and launch script.

Parameters:
rootDir -
scriptName -

ProtoProject

public ProtoProject(ProtoCore core)
Create with the underlying bootstrap instance.

Parameters:
core -
Method Detail

main

public static void main(java.lang.String[] args)
See ProtoProject.

Parameters:
args -

createHelloWorldDelegate

public StandardProject createHelloWorldDelegate()
Copies the example helloworld project to the target directory and returns a representative project instance.

Returns:

createAlienProjectDelegate

public StandardProject createAlienProjectDelegate()
Copies the example alien project to the target directory and returns a representative project instance.

Returns:

createSampleProjectDelegate

public StandardProject createSampleProjectDelegate(java.lang.String projectName,
                                                   boolean includeAjc)
Ensures the no dependencies jar file is present and executes it so that the requested sample project gets created. See ProtoExecutableMain for a list of the available sample projects.

Parameters:
projectName - the name of the sample project to create
includeAjc - for aspectj sample projects specify true to include the aspectj jars in the lib directory
Returns:

createAcmeProjectDelegate

public StandardProject createAcmeProjectDelegate()
Copies the example acme project to the target directory and returns a representative project instance.

Returns:

dispatchCommands

public void dispatchCommands()
Dispatches any commands held by this project.


getReleaseCommand

public ReleaseCommand getReleaseCommand()
The command used to invoke release functionality.

Returns:

getSiteCommand

public SiteCommand getSiteCommand()
The command used to create documentation for the protoj googlecode website.

Returns:

getReleaseFeature

public ReleaseFeature getReleaseFeature()
Delegate helper responsible for implementing the release procedure.

Returns:

getDelegate

public StandardProject getDelegate()
The main protoj domain object.

Returns:

getProjectName

public java.lang.String getProjectName()
The name of the project that includes the version number.

Returns:

getNoDepJarName

public java.lang.String getNoDepJarName()
The name of the protoj jar file that has been merged with all third party jar files.

Returns:

getJarName

public java.lang.String getJarName()
The name of the protoj jar file that contains just a few third-party jar merges. They are restricted to those libraries that can't be found at the maven central repository.

Returns:

getProjectArchiveName

public java.lang.String getProjectArchiveName()
The name of the generated tar file.

Returns:

getGroupId

public java.lang.String getGroupId()
The group id to use when publish to the maven repository.

Returns:

getVersionNumber

public java.lang.String getVersionNumber()
The project version number.

Returns:

createNoDepArchive

public void createNoDepArchive()
Creates the no dependencies archive in the archive directory. Used by the tests that need to create test projects.


getNoDepFile

public java.io.File getNoDepFile()

extractSite

public java.io.File extractSite()
Extracts the googlecode website files to the target directory.

Returns:
the directory where the files are extracted to