This plugin allows you to extract contributions from any Nuxeo Project.
The ExtractorMojo
provides the entry point to extract what is contributed in the target project.
The available plugin goal is:
nuxeo-studio:extract
: execute an extract inherited from all submodules of the contributions. Depending of thensmp.token
parameter, JSON output is written in thensmp.output
file path or pushed to Nuxeo Studio.nuxeo-studio:help
: display Mojo help message
Extract contributions from your project:
mvn [-o] [-DskipTests] [-DskipITs] [package] org.nuxeo.tools:nuxeo-studio-maven-plugin:extract
cat target/nuxeo-studio-registries.json
Publish contributions in Studio Registries:
mvn [-o] [-DskipTests] [-DskipITs] [package] org.nuxeo.tools:nuxeo-studio-maven-plugin:extract -Dnsmp.symbolicName="MY-PROJECT" -Dnsmp.token="MY-TOKEN"
nuxeo-studio-maven-plugin
Maven Plugin is available throught http://maven.nuxeo.org/nexus/content/groups/public plugins repository.
To configure it, you can read the Maven Usage documentation page. Or add the following section to your settings file ($M2_REPO/settings.xml
):
<?xml version="1.0"?>
<settings>
<profiles>
<profile>
<id>Nuxeo</id>
<pluginRepositories>
<pluginRepository>
<id>public</id>
<url>http://maven.nuxeo.org/nexus/content/groups/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>Nuxeo</activeProfile>
</activeProfiles>
</settings>
TODO
-
jarFile: External Jar File. Multiple files must be separate using a coma.
User property:
nsmp.jarFile
-
connectUrl (Default:
https://connect.nuxeo.com/nuxeo
): Nuxeo Connect URLUser property:
nsmp.connectUrl
-
extract (Default:
*
): list of contributions registries exported. Multiple values must be separate using a coma.Possible Values:
- operations
- doctypes
- schemas
- facets
- events
- permissions
- lifecycles
-
User property:
nsmp.extract
-
output (Default:
nuxeo-studio-registries.json
): File output name. JSON Registries will be written in this file in theoutput
directory.User property:
nsmp.output
-
symbolicName: Nuxeo Studio Target Project Symbolic Name
User property:
nsmp.symbolicName
-
token: Studio Authentication Token
User property:
nsmp.token
Different Mojo instances can be used in different threads, each of them will have its own graph. (The Mojo is bound to a thread variable so that Ant will use the Mojo bound to the current thread).
See this page for practical information: NXDOC/Contributing+to+Nuxeo
This presentation will give you more insight about "the Nuxeo way": http://www.slideshare.net/nuxeo/nuxeo-world-session-becoming-a-contributor-how-to-get-started
mvn clean package [-o] [-DskipTests] [-DskipITs] [-DdebugITs=true] [-Dinvoker.test=...] [-Pdebug]
mvn clean integration-test [-o] [-DdebugITs=true]
mvn clean package -DskipTests -DskipITs
mvn invoker:run -Dinvoker.test=test1
or (if you want the code being compiled again):
mvn clean integration-test -Dinvoker.test=test1
Use comma separator. Wildcards are accepted.
Results are in target/it/*
sub-folders.
You can manually execute some Maven commands from a result directory (target/it/*
) providing a specific settings.xml
file:
mvn -s ../../../it-settings.xml ...
Add -DdebugITs=true
on the command line to get debug logs in the build.log file.
Use -Pdebug
profile which will make the invoker call mvnDebug (starting the JVM in debug attach mode).
Default listening for transport dt_socket at address: 8000
Nuxeo dramatically improves how content-based applications are built, managed and deployed, making customers more agile, innovative and successful. Nuxeo provides a next generation, enterprise ready platform for building traditional and cutting-edge content oriented applications. Combining a powerful application development environment with SaaS-based tools and a modular architecture, the Nuxeo Platform and Products provide clear business value to some of the most recognizable brands including Verizon, Electronic Arts, Sharp, FICO, the U.S. Navy, and Boeing. Nuxeo is headquartered in New York and Paris. More information is available at www.nuxeo.com.