Wikitty-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
August 2011
- 6 participants
- 125 discussions
r1175 - in trunk: . wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize wp-maven-plugin wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin
by mfortun@users.nuiton.org 18 Aug '11
by mfortun@users.nuiton.org 18 Aug '11
18 Aug '11
Author: mfortun
Date: 2011-08-18 18:19:47 +0200 (Thu, 18 Aug 2011)
New Revision: 1175
Url: http://nuiton.org/repositories/revision/wikitty/1175
Log:
*work on deploy jar
Added:
trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/DeployUtil.java
Modified:
trunk/pom.xml
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/WikittyPublicationExternalize.java
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/WikittyServiceJarLoader.java
trunk/wp-maven-plugin/pom.xml
trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPDeployJarMojo.java
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-08-18 14:05:03 UTC (rev 1174)
+++ trunk/pom.xml 2011-08-18 16:19:47 UTC (rev 1175)
@@ -398,8 +398,8 @@
<dependency>
<groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- <version>${deployPluginVersion}</version>
+ <artifactId>maven-site-plugin</artifactId>
+ <version>${deploySiteVersion}</version>
</dependency>
<dependency>
@@ -534,8 +534,8 @@
<dependency>
<groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <version>${dependencyPluginVersion}</version>
+ <artifactId>maven-site-plugin</artifactId>
+ <version>${sitePluginVersion}</version>
</dependency>
</dependencies>
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/WikittyPublicationExternalize.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/WikittyPublicationExternalize.java 2011-08-18 14:05:03 UTC (rev 1174)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/WikittyPublicationExternalize.java 2011-08-18 16:19:47 UTC (rev 1175)
@@ -4,6 +4,8 @@
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Set;
+import java.util.jar.JarFile;
+
import org.apache.commons.lang.StringEscapeUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
@@ -114,7 +116,7 @@
}
- static public void externalize(ApplicationConfig conf, Criteria crit, File TargetDir, String jarName)
+ static public File externalize(ApplicationConfig conf, Criteria crit, File TargetDir, String jarName)
throws ArgumentsParserException, IOException {
CodeDecorator decorator = new CodeDecorator();
@@ -251,6 +253,8 @@
// delete tempfile
FileUtil.deleteRecursively(tempDirectory);
+
+ return jarFile;
}
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/WikittyServiceJarLoader.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/WikittyServiceJarLoader.java 2011-08-18 14:05:03 UTC (rev 1174)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/WikittyServiceJarLoader.java 2011-08-18 16:19:47 UTC (rev 1175)
@@ -95,6 +95,8 @@
//found jar
File[] jarFiles = jarLocation.listFiles(jarFilter);
+ // TODO mfortun-2011-08-18 BAD solution: need a notifier system
+ // to allow service to rebuild his index
String sumMd5 = StringUtils.EMPTY;
for (File jf : jarFiles){
sumMd5+=jf.getAbsolutePath();
Modified: trunk/wp-maven-plugin/pom.xml
===================================================================
--- trunk/wp-maven-plugin/pom.xml 2011-08-18 14:05:03 UTC (rev 1174)
+++ trunk/wp-maven-plugin/pom.xml 2011-08-18 16:19:47 UTC (rev 1175)
@@ -84,7 +84,7 @@
<dependency>
<groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
+ <artifactId>maven-site-plugin</artifactId>
</dependency>
Added: trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/DeployUtil.java
===================================================================
--- trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/DeployUtil.java (rev 0)
+++ trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/DeployUtil.java 2011-08-18 16:19:47 UTC (rev 1175)
@@ -0,0 +1,811 @@
+package org.nuiton.wikitty.plugin;
+
+import java.io.File;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.List;
+import java.util.Locale;
+import java.util.Set;
+
+import org.apache.maven.artifact.manager.WagonManager;
+import org.apache.maven.execution.MavenExecutionRequest;
+import org.apache.maven.execution.MavenSession;
+import org.apache.maven.model.DistributionManagement;
+import org.apache.maven.model.Site;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.logging.Log;
+
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.settings.Proxy;
+import org.apache.maven.settings.Server;
+import org.apache.maven.settings.Settings;
+import org.apache.maven.settings.crypto.DefaultSettingsDecryptionRequest;
+import org.apache.maven.settings.crypto.SettingsDecrypter;
+import org.apache.maven.settings.crypto.SettingsDecryptionResult;
+import org.apache.maven.wagon.CommandExecutionException;
+import org.apache.maven.wagon.CommandExecutor;
+import org.apache.maven.wagon.ConnectionException;
+import org.apache.maven.wagon.ResourceDoesNotExistException;
+import org.apache.maven.wagon.TransferFailedException;
+import org.apache.maven.wagon.UnsupportedProtocolException;
+import org.apache.maven.wagon.Wagon;
+import org.apache.maven.wagon.authentication.AuthenticationException;
+import org.apache.maven.wagon.authentication.AuthenticationInfo;
+import org.apache.maven.wagon.authorization.AuthorizationException;
+import org.apache.maven.wagon.observers.Debug;
+import org.apache.maven.wagon.proxy.ProxyInfo;
+import org.apache.maven.wagon.repository.Repository;
+import org.codehaus.plexus.PlexusConstants;
+import org.codehaus.plexus.PlexusContainer;
+import org.codehaus.plexus.component.configurator.ComponentConfigurationException;
+import org.codehaus.plexus.component.configurator.ComponentConfigurator;
+import org.codehaus.plexus.component.repository.exception.ComponentLifecycleException;
+import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
+import org.codehaus.plexus.configuration.PlexusConfiguration;
+import org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration;
+import org.codehaus.plexus.context.Context;
+import org.codehaus.plexus.context.ContextException;
+import org.codehaus.plexus.util.StringUtils;
+import org.codehaus.plexus.util.xml.Xpp3Dom;
+
+
+
+public class DeployUtil {
+ /* *//**
+ * Directory containing the generated project sites and report distributions.
+ *
+ * @parameter alias="outputDirectory" expression="${project.reporting.outputDirectory}"
+ * @required
+ *//*
+ private File inputDirectory;
+
+ *//**
+ * Whether to run the "chmod" command on the remote site after the deploy.
+ * Defaults to "true".
+ *
+ * @parameter expression="${maven.site.chmod}" default-value="true"
+ * @since 2.1
+ *//*
+ private boolean chmod;
+
+ *//**
+ * The mode used by the "chmod" command. Only used if chmod = true.
+ * Defaults to "g+w,a+rX".
+ *
+ * @parameter expression="${maven.site.chmod.mode}" default-value="g+w,a+rX"
+ * @since 2.1
+ *//*
+ private String chmodMode;
+
+ *//**
+ * The options used by the "chmod" command. Only used if chmod = true.
+ * Defaults to "-Rf".
+ *
+ * @parameter expression="${maven.site.chmod.options}" default-value="-Rf"
+ * @since 2.1
+ *//*
+ private String chmodOptions;
+
+ *//**
+ * Set this to 'true' to skip site deployment.
+ *
+ * @parameter expression="${maven.site.deploy.skip}" default-value="false"
+ * @since 3.0
+ *//*
+ private boolean skipDeploy;
+
+ *//**
+ * @component
+ *//*
+ private WagonManager wagonManager;
+
+ *//**
+ * The current user system settings for use in Maven.
+ *
+ * @parameter expression="${settings}"
+ * @required
+ * @readonly
+ *//*
+ private Settings settings;
+
+ *//**
+ * @parameter expression="${session}"
+ * @required
+ * @readonly
+ * @since 3.0-beta-2
+ *//*
+ protected MavenSession mavenSession;
+
+ private PlexusContainer container;
+
+ private String deployRepositoryID;
+
+ private String deployRepositoryUrl;
+
+ private Log log;
+
+ *//**
+ * The String "staging/".
+ *//*
+ protected static final String DEFAULT_STAGING_DIRECTORY = "staging/";
+
+ *//** {@inheritDoc} *//*
+ public void execute()
+ throws MojoExecutionException
+ {
+ if ( skipDeploy )
+ {
+ getLog().info( "maven.site.deploy.skip = true: Skipping site deployment" );
+ return;
+ }
+
+ deployTo( new org.apache.maven.plugins.site.wagon.repository.Repository(
+ getDeployRepositoryID(),
+ appendSlash( getDeployRepositoryURL() ) ) );
+ }
+
+ public Log getLog() {
+ return log;
+
+ }
+
+ *//**
+ * Make sure the given url ends with a slash.
+ *
+ * @param url a String.
+ *
+ * @return if url already ends with '/' it is returned unchanged,
+ * otherwise a '/' character is appended.
+ *//*
+ protected static String appendSlash( final String url )
+ {
+ if ( url.endsWith( "/" ) )
+ {
+ return url;
+ }
+ else
+ {
+ return url + "/";
+ }
+ }
+
+ *//**
+ * Specifies the id to look up credential settings.
+ *
+ * @return the id to look up credentials for the deploy. Not null.
+ *
+ * @throws MojoExecutionException
+ * if the ID cannot be determined
+ *//*
+ protected String getDeployRepositoryID()
+ throws MojoExecutionException{
+ return deployRepositoryID;
+ }
+
+ *//**
+ * Specifies the target URL for the deploy.
+ * This should be the top-level URL, ie above modules and locale sub-directories.
+ *
+ * @return the url to deploy to. Not null.
+ *
+ * @throws MojoExecutionException
+ * if the URL cannot be constructed
+ *//*
+ protected String getDeployRepositoryURL()
+ throws MojoExecutionException{
+ return deployRepositoryUrl;
+ }
+
+ *//**
+ * Find the relative path between the distribution URLs of the top parent and the current project.
+ *
+ * @return the relative path or "./" if the two URLs are the same.
+ *
+ * @throws MojoExecutionException
+ *//*
+ private String getDeployModuleDirectory()
+ throws MojoExecutionException
+ {
+ String relative = siteTool.getRelativePath( getSite( project ).getUrl(),
+ getRootSite( project ).getUrl() );
+
+ // SiteTool.getRelativePath() uses File.separatorChar,
+ // so we need to convert '\' to '/' in order for the URL to be valid for Windows users
+ relative = relative.replace( '\\', '/' );
+
+ return ( "".equals( relative ) ) ? "./" : relative;
+ }
+
+ *//**
+ * Use wagon to deploy the generated site to a given repository.
+ *
+ * @param repository the repository to deply to.
+ * This needs to contain a valid, non-null {@link Repository#getId() id}
+ * to look up credentials for the deploy, and a valid, non-null
+ * {@link Repository#getUrl() scm url} to deploy to.
+ *
+ * @throws MojoExecutionException if the deploy fails.
+ *//*
+ private void deployTo( final Repository repository )
+ throws MojoExecutionException
+ {
+ if ( !inputDirectory.exists() )
+ {
+ throw new MojoExecutionException( "The site does not exist, please run site:site first" );
+ }
+
+ if ( getLog().isDebugEnabled() )
+ {
+ getLog().debug( "Deploying to '" + repository.getUrl()
+ + "',\n Using credentials from server id '" + repository.getId() + "'" );
+ }
+
+ deploy( inputDirectory, repository );
+ }
+
+ private void deploy( final File directory, final Repository repository )
+ throws MojoExecutionException
+ {
+ // TODO: work on moving this into the deployer like the other deploy methods
+ final Wagon wagon = getWagon( repository, wagonManager );
+
+ try
+ {
+ configureWagon( wagon, repository.getId(), settings, container, getLog() );
+ }
+ catch ( TransferFailedException e )
+ {
+ throw new MojoExecutionException( "Unable to configure Wagon: '" + repository.getProtocol() + "'", e );
+ }
+
+ try
+ {
+ final ProxyInfo proxyInfo;
+ if ( !isMaven3OrMore() )
+ {
+ proxyInfo = getProxyInfo( repository, wagonManager );
+ }
+ else
+ {
+ try
+ {
+ SettingsDecrypter settingsDecrypter = container.lookup( SettingsDecrypter.class );
+
+ proxyInfo = getProxy( repository, settingsDecrypter );
+ }
+ catch ( ComponentLookupException cle )
+ {
+ throw new MojoExecutionException( "Unable to lookup SettingsDecrypter: " + cle.getMessage(), cle );
+ }
+ }
+
+ push( directory, repository, wagon, proxyInfo, siteTool.getAvailableLocales( locales ),
+ getDeployModuleDirectory() );
+
+ if ( chmod )
+ {
+ chmod( wagon, repository, chmodOptions, chmodMode );
+ }
+ }
+ finally
+ {
+ try
+ {
+ wagon.disconnect();
+ }
+ catch ( ConnectionException e )
+ {
+ getLog().error( "Error disconnecting wagon - ignored", e );
+ }
+ }
+ }
+
+ *//**
+ * Find the build directory of the top level project in the reactor.
+ * If no top level project is found, the build directory of the current project is returned.
+ *
+ * @return the build directory of the top level project.
+ *//*
+ protected File getTopLevelBuildDirectory()
+ {
+ // Find the top level project in the reactor
+ final MavenProject topLevelProject = getTopLevelProject( reactorProjects );
+
+ // Use the top level project's build directory if there is one, otherwise use this project's build directory
+ final File buildDirectory;
+
+ if ( topLevelProject == null )
+ {
+ getLog().debug( "No top level project found in the reactor, using the current project." );
+
+ buildDirectory = new File( project.getBuild().getDirectory() );
+ }
+ else
+ {
+ getLog().debug( "Using the top level project found in the reactor." );
+
+ buildDirectory = new File( topLevelProject.getBuild().getDirectory() );
+ }
+
+ return buildDirectory;
+ }
+
+ private Wagon getWagon( final Repository repository, final WagonManager manager )
+ throws MojoExecutionException
+ {
+ final Wagon wagon;
+
+ try
+ {
+ wagon = manager.getWagon( repository );
+ }
+ catch ( UnsupportedProtocolException e )
+ {
+ String shortMessage =
+ "Unsupported protocol: '" + repository.getProtocol() + "' for site deployment to "
+ + "distributionManagement.site.url=" + repository.getUrl() + ".";
+ String longMessage =
+ "\n" + shortMessage + "\n" +
+ "Currently supported protocols are: " + getSupportedProtocols() + ".\n"
+ + " Protocols may be added through wagon providers.\n"
+ + " For more information, see "
+ + "http://maven.apache.org/plugins/maven-site-plugin/examples/adding-deploy-pr…";
+
+ getLog().error( longMessage );
+
+ throw new MojoExecutionException( shortMessage );
+ }
+ catch ( TransferFailedException e )
+ {
+ throw new MojoExecutionException( "Unable to configure Wagon: '" + repository.getProtocol() + "'", e );
+ }
+
+ if ( !wagon.supportsDirectoryCopy() )
+ {
+ throw new MojoExecutionException(
+ "Wagon protocol '" + repository.getProtocol() + "' doesn't support directory copying" );
+ }
+
+ return wagon;
+ }
+
+ private String getSupportedProtocols()
+ {
+ try
+ {
+ Set<String> protocols = container.lookupMap( Wagon.class ).keySet();
+
+ return StringUtils.join( protocols.iterator(), ", " );
+ }
+ catch ( ComponentLookupException e )
+ {
+ // in the unexpected case there is a problem when instantiating a wagon provider
+ getLog().error( e );
+ }
+ return "";
+ }
+
+ private void push( final File inputDirectory, final Repository repository, final Wagon wagon,
+ final ProxyInfo proxyInfo, final List<Locale> localesList, final String relativeDir )
+ throws MojoExecutionException
+ {
+ AuthenticationInfo authenticationInfo = wagonManager.getAuthenticationInfo( repository.getId() );
+ getLog().debug( "authenticationInfo with id '" + repository.getId() + "': "
+ + ( ( authenticationInfo == null ) ? "-" : authenticationInfo.getUserName() ) );
+
+ try
+ {
+ Debug debug = new Debug();
+
+ wagon.addSessionListener( debug );
+
+ wagon.addTransferListener( debug );
+
+ if ( proxyInfo != null )
+ {
+ getLog().debug( "connect with proxyInfo" );
+ wagon.connect( repository, authenticationInfo, proxyInfo );
+ }
+ else if ( proxyInfo == null && authenticationInfo != null )
+ {
+ getLog().debug( "connect with authenticationInfo and without proxyInfo" );
+ wagon.connect( repository, authenticationInfo );
+ }
+ else
+ {
+ getLog().debug( "connect without authenticationInfo and without proxyInfo" );
+ wagon.connect( repository );
+ }
+
+ getLog().info( "Pushing " + inputDirectory );
+
+ // Default is first in the list
+ final String defaultLocale = localesList.get( 0 ).getLanguage();
+
+ for ( Locale locale : localesList )
+ {
+ if ( locale.getLanguage().equals( defaultLocale ) )
+ {
+ // TODO: this also uploads the non-default locales,
+ // is there a way to exclude directories in wagon?
+ getLog().info( " >>> to " + repository.getUrl() + relativeDir );
+
+ wagon.putDirectory( inputDirectory, relativeDir );
+ }
+ else
+ {
+ getLog().info( " >>> to " + repository.getUrl() + locale.getLanguage() + "/" + relativeDir );
+
+ wagon.putDirectory( new File( inputDirectory, locale.getLanguage() ),
+ locale.getLanguage() + "/" + relativeDir );
+ }
+ }
+ }
+ catch ( ResourceDoesNotExistException e )
+ {
+ throw new MojoExecutionException( "Error uploading site", e );
+ }
+ catch ( TransferFailedException e )
+ {
+ throw new MojoExecutionException( "Error uploading site", e );
+ }
+ catch ( AuthorizationException e )
+ {
+ throw new MojoExecutionException( "Error uploading site", e );
+ }
+ catch ( ConnectionException e )
+ {
+ throw new MojoExecutionException( "Error uploading site", e );
+ }
+ catch ( AuthenticationException e )
+ {
+ throw new MojoExecutionException( "Error uploading site", e );
+ }
+ }
+
+ private static void chmod( final Wagon wagon, final Repository repository, final String chmodOptions,
+ final String chmodMode )
+ throws MojoExecutionException
+ {
+ try
+ {
+ if ( wagon instanceof CommandExecutor )
+ {
+ CommandExecutor exec = (CommandExecutor) wagon;
+ exec.executeCommand( "chmod " + chmodOptions + " " + chmodMode + " " + repository.getBasedir() );
+ }
+ // else ? silently ignore, FileWagon is not a CommandExecutor!
+ }
+ catch ( CommandExecutionException e )
+ {
+ throw new MojoExecutionException( "Error uploading site", e );
+ }
+ }
+
+ *//**
+ * <p>
+ * Get the <code>ProxyInfo</code> of the proxy associated with the <code>host</code>
+ * and the <code>protocol</code> of the given <code>repository</code>.
+ * </p>
+ * <p>
+ * Extract from <a href="http://java.sun.com/j2se/1.5.0/docs/guide/net/properties.html">
+ * J2SE Doc : Networking Properties - nonProxyHosts</a> : "The value can be a list of hosts,
+ * each separated by a |, and in addition a wildcard character (*) can be used for matching"
+ * </p>
+ * <p>
+ * Defensively support for comma (",") and semi colon (";") in addition to pipe ("|") as separator.
+ * </p>
+ *
+ * @param repository the Repository to extract the ProxyInfo from.
+ * @param wagonManager the WagonManager used to connect to the Repository.
+ * @return a ProxyInfo object instantiated or <code>null</code> if no matching proxy is found
+ *//*
+ public static ProxyInfo getProxyInfo( Repository repository, WagonManager wagonManager )
+ {
+ ProxyInfo proxyInfo = wagonManager.getProxy( repository.getProtocol() );
+
+ if ( proxyInfo == null )
+ {
+ return null;
+ }
+
+ String host = repository.getHost();
+ String nonProxyHostsAsString = proxyInfo.getNonProxyHosts();
+ String[] nonProxyHosts = StringUtils.split( nonProxyHostsAsString, ",;|" );
+ for ( int i = 0; i < nonProxyHosts.length; i++ )
+ {
+ String nonProxyHost = nonProxyHosts[i];
+ if ( StringUtils.contains( nonProxyHost, "*" ) )
+ {
+ // Handle wildcard at the end, beginning or middle of the nonProxyHost
+ final int pos = nonProxyHost.indexOf( '*' );
+ String nonProxyHostPrefix = nonProxyHost.substring( 0, pos );
+ String nonProxyHostSuffix = nonProxyHost.substring( pos + 1 );
+ // prefix*
+ if ( StringUtils.isNotEmpty( nonProxyHostPrefix ) && host.startsWith( nonProxyHostPrefix )
+ && StringUtils.isEmpty( nonProxyHostSuffix ) )
+ {
+ return null;
+ }
+ // *suffix
+ if ( StringUtils.isEmpty( nonProxyHostPrefix )
+ && StringUtils.isNotEmpty( nonProxyHostSuffix ) && host.endsWith( nonProxyHostSuffix ) )
+ {
+ return null;
+ }
+ // prefix*suffix
+ if ( StringUtils.isNotEmpty( nonProxyHostPrefix ) && host.startsWith( nonProxyHostPrefix )
+ && StringUtils.isNotEmpty( nonProxyHostSuffix ) && host.endsWith( nonProxyHostSuffix ) )
+ {
+ return null;
+ }
+ }
+ else if ( host.equals( nonProxyHost ) )
+ {
+ return null;
+ }
+ }
+ return proxyInfo;
+ }
+
+ *//**
+ * Get proxy information for Maven 3.
+ *
+ * @param repository
+ * @param log
+ * @param mavenSession
+ * @param settingsDecrypter
+ * @return
+ *//*
+ private ProxyInfo getProxy( Repository repository, SettingsDecrypter settingsDecrypter )
+ {
+ String protocol = repository.getProtocol();
+ String url = repository.getUrl();
+
+ getLog().debug( "repository protocol " + protocol );
+
+ String originalProtocol = protocol;
+ // olamy: hackish here protocol (wagon hint in fact !) is dav
+ // but the real protocol (transport layer) is http(s)
+ // and it's the one use in wagon to find the proxy arghhh
+ // so we will check both
+ if ( StringUtils.equalsIgnoreCase( "dav", protocol ) && url.startsWith( "dav:" ) )
+ {
+ url = url.substring( 4 );
+ if ( url.startsWith( "http" ) )
+ {
+ try
+ {
+ URL urlSite = new URL( url );
+ protocol = urlSite.getProtocol();
+ getLog().debug( "found dav protocol so transform to real transport protocol " + protocol );
+ }
+ catch ( MalformedURLException e )
+ {
+ getLog().warn( "fail to build URL with " + url );
+ }
+
+ }
+ }
+ else
+ {
+ getLog().debug( "getProxy 'protocol': " + protocol );
+ }
+ if ( mavenSession != null && protocol != null )
+ {
+ MavenExecutionRequest request = mavenSession.getRequest();
+
+ if ( request != null )
+ {
+ List<Proxy> proxies = request.getProxies();
+
+ if ( proxies != null )
+ {
+ for ( Proxy proxy : proxies )
+ {
+ if ( proxy.isActive()
+ && ( protocol.equalsIgnoreCase( proxy.getProtocol() ) || originalProtocol
+ .equalsIgnoreCase( proxy.getProtocol() ) ) )
+ {
+ SettingsDecryptionResult result = settingsDecrypter
+ .decrypt( new DefaultSettingsDecryptionRequest( proxy ) );
+ proxy = result.getProxy();
+
+ ProxyInfo proxyInfo = new ProxyInfo();
+ proxyInfo.setHost( proxy.getHost() );
+ // so hackish for wagon the protocol is https for site dav : dav:https://dav.codehaus.org/mojo/
+ proxyInfo.setType( protocol );//proxy.getProtocol() );
+ proxyInfo.setPort( proxy.getPort() );
+ proxyInfo.setNonProxyHosts( proxy.getNonProxyHosts() );
+ proxyInfo.setUserName( proxy.getUsername() );
+ proxyInfo.setPassword( proxy.getPassword() );
+
+ getLog().debug( "found proxyInfo "
+ + ( proxyInfo == null ? "null" : "host:port " + proxyInfo.getHost()
+ + ":" + proxyInfo.getPort() + ", " + proxyInfo.getUserName() ) );
+
+ return proxyInfo;
+ }
+ }
+ }
+ }
+ }
+ getLog().debug( "getProxy 'protocol': " + protocol + " no ProxyInfo found");
+ return null;
+ }
+
+ *//**
+ * Configure the Wagon with the information from serverConfigurationMap ( which comes from settings.xml )
+ *
+ * @todo Remove when {@link WagonManager#getWagon(Repository) is available}. It's available in Maven 2.0.5.
+ * @param wagon
+ * @param repositoryId
+ * @param settings
+ * @param container
+ * @param log
+ * @throws WagonConfigurationException
+ *//*
+ private static void configureWagon( Wagon wagon, String repositoryId, Settings settings, PlexusContainer container,
+ Log log )
+ throws TransferFailedException
+ {
+ log.debug( " configureWagon " );
+
+ // MSITE-25: Make sure that the server settings are inserted
+ for ( int i = 0; i < settings.getServers().size(); i++ )
+ {
+ Server server = settings.getServers().get( i );
+ String id = server.getId();
+
+ log.debug( "configureWagon server " + id );
+
+ if ( id != null && id.equals( repositoryId ) )
+ {
+ if ( server.getConfiguration() != null )
+ {
+ final PlexusConfiguration plexusConf =
+ new XmlPlexusConfiguration( (Xpp3Dom) server.getConfiguration() );
+
+ ComponentConfigurator componentConfigurator = null;
+ try
+ {
+ componentConfigurator = (ComponentConfigurator) container.lookup( ComponentConfigurator.ROLE, "basic" );
+ componentConfigurator.configureComponent( wagon, plexusConf, container.getContainerRealm() );
+ }
+ catch ( final ComponentLookupException e )
+ {
+ throw new TransferFailedException( "While configuring wagon for \'" + repositoryId
+ + "\': Unable to lookup wagon configurator." + " Wagon configuration cannot be applied.", e );
+ }
+ catch ( ComponentConfigurationException e )
+ {
+ throw new TransferFailedException( "While configuring wagon for \'" + repositoryId
+ + "\': Unable to apply wagon configuration.", e );
+ }
+ finally
+ {
+ if ( componentConfigurator != null )
+ {
+ try
+ {
+ container.release( componentConfigurator );
+ }
+ catch ( ComponentLifecycleException e )
+ {
+ log.error( "Problem releasing configurator - ignoring: " + e.getMessage() );
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ *//** {@inheritDoc} *//*
+ public void contextualize( Context context )
+ throws ContextException
+ {
+ container = (PlexusContainer) context.get( PlexusConstants.PLEXUS_KEY );
+ }
+
+ *//**
+ * Find the top level parent in the reactor, i.e. the execution root.
+ *
+ * @param reactorProjects The projects in the reactor. May be null in which case null is returned.
+ *
+ * @return The top level project in the reactor, or <code>null</code> if none can be found
+ *//*
+ private static MavenProject getTopLevelProject( List<MavenProject> reactorProjects )
+ {
+ if ( reactorProjects == null )
+ {
+ return null;
+ }
+
+ for ( MavenProject reactorProject : reactorProjects )
+ {
+ if ( reactorProject.isExecutionRoot() )
+ {
+ return reactorProject;
+ }
+ }
+
+ return null;
+ }
+
+ *//**
+ * Extract the distributionManagment site from the given MavenProject.
+ *
+ * @param project the MavenProject. Not null.
+ *
+ * @return the project site. Not null.
+ * Also site.getUrl() and site.getId() are guaranteed to be not null.
+ *
+ * @throws MojoExecutionException if any of the site info is missing.
+ *//*
+ protected static Site getSite( final MavenProject project )
+ throws MojoExecutionException
+ {
+ final String name = project.getName() + " ("
+ + project.getGroupId() + ":" + project.getArtifactId() + ":" + project.getVersion() + ")";
+
+ final DistributionManagement distributionManagement = project.getDistributionManagement();
+
+ if ( distributionManagement == null )
+ {
+ throw new MojoExecutionException( "Missing distribution management in project " + name );
+ }
+
+ final Site site = distributionManagement.getSite();
+
+ if ( site == null )
+ {
+ throw new MojoExecutionException(
+ "Missing site information in the distribution management of the project " + name );
+ }
+
+ if ( site.getUrl() == null || site.getId() == null )
+ {
+ throw new MojoExecutionException( "Missing site data: specify url and id for project " + name );
+ }
+
+ return site;
+ }
+
+ *//**
+ * Extract the distributionManagment site of the top level parent of the given MavenProject.
+ * This climbs up the project hierarchy and returns the site of the last project
+ * for which {@link #getSite(org.apache.maven.project.MavenProject)} returns a site.
+ *
+ * @param project the MavenProject. Not null.
+ *
+ * @return the top level site. Not null.
+ * Also site.getUrl() and site.getId() are guaranteed to be not null.
+ *
+ * @throws MojoExecutionException if no site info is found in the tree.
+ *//*
+ protected Site getRootSite( MavenProject project )
+ throws MojoExecutionException
+ {
+ Site site = getSite( project );
+
+ MavenProject parent = project;
+
+ while ( parent.getParent() != null )
+ {
+ // MSITE-585, MNG-1943
+ parent = siteTool.getParentProject( parent, reactorProjects, localRepository );
+
+ try
+ {
+ site = getSite( parent );
+ }
+ catch ( MojoExecutionException e )
+ {
+ break;
+ }
+ }
+
+ return site;
+ }*/
+}
Modified: trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPDeployJarMojo.java
===================================================================
--- trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPDeployJarMojo.java 2011-08-18 14:05:03 UTC (rev 1174)
+++ trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPDeployJarMojo.java 2011-08-18 16:19:47 UTC (rev 1175)
@@ -24,6 +24,37 @@
*/
package org.nuiton.wikitty.plugin;
+import java.io.File;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.List;
+
+import org.apache.maven.artifact.manager.WagonManager;
+import org.apache.maven.execution.MavenExecutionRequest;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugins.site.AbstractSiteMojo;
+import org.apache.maven.plugins.site.SiteDeployMojo;
+import org.apache.maven.plugins.site.SiteMojo;
+import org.apache.maven.settings.Proxy;
+import org.apache.maven.settings.Settings;
+import org.apache.maven.settings.crypto.DefaultSettingsDecryptionRequest;
+import org.apache.maven.settings.crypto.SettingsDecrypter;
+import org.apache.maven.settings.crypto.SettingsDecryptionResult;
+import org.apache.maven.wagon.ConnectionException;
+import org.apache.maven.wagon.TransferFailedException;
+import org.apache.maven.wagon.UnsupportedProtocolException;
+import org.apache.maven.wagon.Wagon;
+import org.apache.maven.wagon.proxy.ProxyInfo;
+import org.apache.maven.wagon.repository.Repository;
+import org.codehaus.plexus.PlexusConstants;
+import org.codehaus.plexus.PlexusContainer;
+import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
+import org.codehaus.plexus.context.Context;
+import org.codehaus.plexus.context.ContextException;
+import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
+import org.codehaus.plexus.util.StringUtils;
+
+
/**
* To deploy a wikitty publication jar.
*
@@ -35,8 +66,28 @@
* @requiresDependencyResolution runtime
* @since 3.2
*/
-public class WPDeployJarMojo extends AbstractWPMojo {
+public class WPDeployJarMojo extends AbstractWPMojo implements Contextualizable {
+ protected String uploadUrl;
+ protected String serveurID;
+
+ /**
+ * @component
+ */
+ private WagonManager wagonManager;
+ /**
+ * The current user system settings for use in Maven.
+ *
+ * @parameter expression="${settings}"
+ * @required
+ * @readonly
+ */
+ private Settings settings;
+
+
+ private PlexusContainer container;
+
+
@Override
protected void init() throws Exception {
//TODO
@@ -44,9 +95,31 @@
@Override
protected void doAction() throws Exception {
+
+ DeployUtil deploy = new DeployUtil();
+
- //TODO
+ String file = getProject().getBuild().getDirectory();
+ file+=File.separator+WPJarMojo.EXTERNALIZE_PREFIX+applicationName+".jar";
+ File jarFile= new File(file);
+
+ // SiteDeployMojo
+
+
+ /*
+
+ deploy.setFile(jarFile);
+ deploy.setUrl("localhost:7878");
+ deploy.setRepositoryId("bob");
+
+
+
+
+
+
+ deploy.execute();*/
}
+
}
1
0
r1174 - in trunk: . wp-maven-plugin wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin
by mfortun@users.nuiton.org 18 Aug '11
by mfortun@users.nuiton.org 18 Aug '11
18 Aug '11
Author: mfortun
Date: 2011-08-18 16:05:03 +0200 (Thu, 18 Aug 2011)
New Revision: 1174
Url: http://nuiton.org/repositories/revision/wikitty/1174
Log:
*update pom
Modified:
trunk/pom.xml
trunk/wp-maven-plugin/pom.xml
trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPRunMojo.java
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-08-18 13:37:42 UTC (rev 1173)
+++ trunk/pom.xml 2011-08-18 14:05:03 UTC (rev 1174)
@@ -395,8 +395,13 @@
<artifactId>maven-dependency-plugin</artifactId>
<version>${dependencyPluginVersion}</version>
</dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>${deployPluginVersion}</version>
+ </dependency>
-
<dependency>
<groupId>org.nuiton</groupId>
<artifactId>maven-helper-plugin</artifactId>
Modified: trunk/wp-maven-plugin/pom.xml
===================================================================
--- trunk/wp-maven-plugin/pom.xml 2011-08-18 13:37:42 UTC (rev 1173)
+++ trunk/wp-maven-plugin/pom.xml 2011-08-18 14:05:03 UTC (rev 1174)
@@ -84,8 +84,8 @@
<dependency>
<groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- </dependency>
+ <artifactId>maven-deploy-plugin</artifactId>
+ </dependency>
</dependencies>
Modified: trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPRunMojo.java
===================================================================
--- trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPRunMojo.java 2011-08-18 13:37:42 UTC (rev 1173)
+++ trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPRunMojo.java 2011-08-18 14:05:03 UTC (rev 1174)
@@ -26,9 +26,7 @@
import java.io.File;
import java.io.IOException;
-import java.net.URL;
import java.util.List;
-
import org.apache.commons.lang.StringUtils;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.factory.ArtifactFactory;
@@ -36,16 +34,12 @@
import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
import org.apache.maven.artifact.resolver.ArtifactResolutionException;
import org.apache.maven.artifact.resolver.ArtifactResolver;
-import org.apache.maven.plugin.dependency.CopyDependenciesMojo;
-import org.apache.maven.plugin.dependency.resolvers.ResolveDependenciesMojo;
-import org.apache.maven.project.MavenProject;
import org.nuiton.util.ApplicationConfig;
import org.nuiton.wikitty.WikittyConfigOption;
import org.nuiton.wikitty.publication.PropertiesExtended;
import org.nuiton.wikitty.publication.WikittyFileUtil;
import org.nuiton.wikitty.publication.WikittyPublicationConstant;
import org.nuiton.wikitty.publication.WikittyPublicationFallbackService;
-import org.nuiton.wikitty.publication.externalize.WikittyPublicationClassLoader;
import org.nuiton.wikitty.publication.synchro.WikittyPublicationFileSystem;
/**
1
0
r1173 - in trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication: . externalize synchro
by mfortun@users.nuiton.org 18 Aug '11
by mfortun@users.nuiton.org 18 Aug '11
18 Aug '11
Author: mfortun
Date: 2011-08-18 15:37:42 +0200 (Thu, 18 Aug 2011)
New Revision: 1173
Url: http://nuiton.org/repositories/revision/wikitty/1173
Log:
*correct implementation for wikitty service on FS
Modified:
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/AbstractWikittyFileService.java
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/WikittyServiceJarLoader.java
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/synchro/WikittyPublicationFileSystem.java
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/AbstractWikittyFileService.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/AbstractWikittyFileService.java 2011-08-18 13:34:06 UTC (rev 1172)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/AbstractWikittyFileService.java 2011-08-18 13:37:42 UTC (rev 1173)
@@ -7,8 +7,17 @@
import org.nuiton.wikitty.WikittyService;
import org.nuiton.wikitty.WikittyUtil;
import org.nuiton.wikitty.entities.FieldType;
+import org.nuiton.wikitty.entities.WikittyExtension;
+import org.nuiton.wikitty.entities.WikittyLabel;
+import org.nuiton.wikitty.entities.WikittyLabelImpl;
import org.nuiton.wikitty.entities.FieldType.TYPE;
import org.nuiton.wikitty.entities.Wikitty;
+import org.nuiton.wikitty.publication.entities.WikittyPubData;
+import org.nuiton.wikitty.publication.entities.WikittyPubDataImpl;
+import org.nuiton.wikitty.publication.entities.WikittyPubText;
+import org.nuiton.wikitty.publication.entities.WikittyPubTextCompiled;
+import org.nuiton.wikitty.publication.entities.WikittyPubTextCompiledImpl;
+import org.nuiton.wikitty.publication.entities.WikittyPubTextImpl;
import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.search.PagedResult;
import org.nuiton.wikitty.search.operators.And;
@@ -538,5 +547,25 @@
return result;
}
+
+ @Override
+ public WikittyExtension restoreExtensionLastVersion(String securityToken,
+ String name) {
+
+ if (name.equals(WikittyPubText.EXT_WIKITTYPUBTEXT)) {
+ return WikittyPubTextImpl.extensionWikittyPubText;
+ }
+
+ if (name.equals(WikittyPubData.EXT_WIKITTYPUBDATA)) {
+ return WikittyPubDataImpl.extensionWikittyPubData;
+ }
+
+ if (name.equals(WikittyLabel.EXT_WIKITTYLABEL)) {
+ return WikittyLabelImpl.extensionWikittyLabel;
+ }
+
+ return null;
+ }
+
}
\ No newline at end of file
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/WikittyServiceJarLoader.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/WikittyServiceJarLoader.java 2011-08-18 13:34:06 UTC (rev 1172)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/WikittyServiceJarLoader.java 2011-08-18 13:37:42 UTC (rev 1173)
@@ -287,22 +287,16 @@
public WikittyExtension restoreExtensionLastVersion(String securityToken,
String name) {
- if (name.equals(WikittyPubText.EXT_WIKITTYPUBTEXT)) {
- return WikittyPubTextImpl.extensionWikittyPubText;
+ WikittyExtension result = super.restoreExtensionLastVersion(
+ securityToken, name);
+ if (result != null) {
+ return result;
}
if (name.equals(WikittyPubTextCompiled.EXT_WIKITTYPUBTEXTCOMPILED)) {
return WikittyPubTextCompiledImpl.extensionWikittyPubTextCompiled;
}
-
- if (name.equals(WikittyPubData.EXT_WIKITTYPUBDATA)) {
- return WikittyPubDataImpl.extensionWikittyPubData;
- }
-
- if (name.equals(WikittyLabel.EXT_WIKITTYLABEL)) {
- return WikittyLabelImpl.extensionWikittyLabel;
- }
-
+
return null;
}
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/synchro/WikittyPublicationFileSystem.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/synchro/WikittyPublicationFileSystem.java 2011-08-18 13:34:06 UTC (rev 1172)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/synchro/WikittyPublicationFileSystem.java 2011-08-18 13:37:42 UTC (rev 1173)
@@ -542,15 +542,7 @@
}
- @Override
- public WikittyExtension restoreExtensionLastVersion(String securityToken,
- String name) {
- // TODO mfortun-2011-04-05
- throw new UnsupportedOperationException("not yet implemented");
- // return null;
- }
-
@Override
/**
* restore file as wikitty
1
0
r1172 - trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin
by mfortun@users.nuiton.org 18 Aug '11
by mfortun@users.nuiton.org 18 Aug '11
18 Aug '11
Author: mfortun
Date: 2011-08-18 15:34:06 +0200 (Thu, 18 Aug 2011)
New Revision: 1172
Url: http://nuiton.org/repositories/revision/wikitty/1172
Log:
*complete goal run
Modified:
trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPRunMojo.java
Modified: trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPRunMojo.java
===================================================================
--- trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPRunMojo.java 2011-08-18 10:05:22 UTC (rev 1171)
+++ trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPRunMojo.java 2011-08-18 13:34:06 UTC (rev 1172)
@@ -25,9 +25,20 @@
package org.nuiton.wikitty.plugin;
import java.io.File;
+import java.io.IOException;
import java.net.URL;
+import java.util.List;
+import org.apache.commons.lang.StringUtils;
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.factory.ArtifactFactory;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
+import org.apache.maven.artifact.resolver.ArtifactResolutionException;
+import org.apache.maven.artifact.resolver.ArtifactResolver;
import org.apache.maven.plugin.dependency.CopyDependenciesMojo;
+import org.apache.maven.plugin.dependency.resolvers.ResolveDependenciesMojo;
+import org.apache.maven.project.MavenProject;
import org.nuiton.util.ApplicationConfig;
import org.nuiton.wikitty.WikittyConfigOption;
import org.nuiton.wikitty.publication.PropertiesExtended;
@@ -50,8 +61,53 @@
*/
public class WPRunMojo extends AbstractWPMojo {
+ private static final String DEPENDCY_TYPE_WAR = "war";
+
+ protected static final String PUBLICATION_WAR_ARTIFACT_ID = "wikitty-publication-ui";
+
+ protected static final String PUBLICATION_WAR_GROUP_ID = "org.nuiton.wikitty";
+
static public String FALLBACK_PROPERTIE_FILE_NAME = "fallback.properties";
+ /**
+ * The component that is used to resolve additional artifacts required.
+ * @required
+ * @component
+ *
+ */
+ private ArtifactResolver artifactResolver;
+
+ /**
+ * The component used for creating artifact instances.
+ * @required
+ * @component
+ */
+ private ArtifactFactory artifactFactory;
+
+
+
+ /**
+ * Local Repository.
+ *
+ * @parameter expression="${localRepository}"
+ * @required
+ * @readonly
+ * @since 1.0.0
+ */
+ protected ArtifactRepository localRepository;
+
+ /**
+ * Remote repositories used for the project.
+ *
+ * @parameter expression="${project.remoteArtifactRepositories}"
+ * @required
+ * @readonly
+ * @since 1.0.0
+ */
+ protected List remoteRepositories;
+
+
+
@Override
protected void init() throws Exception {
// TODO
@@ -59,15 +115,10 @@
@Override
protected void doAction() throws Exception {
-
- // TODO mfortun-2011-08-17 need to use copyDepencies Mojo to find
- // the wikittyPublication war
- File webApp = new File(
- "/home/Manou/workspaceStage/wikitty/wikitty-publication-ui/target/wikitty-publication-ui-3.2-SNAPSHOT.war");
-
- // CopyDependenciesMojo findWar = new CopyDependenciesMojo();
-
- System.out.println(webApp);
+
+ File webApp = resolveFile();
+
+
String build = project.getBuild().getDirectory();
File buildDir = new File(build);
createDirectoryIfNecessary(buildDir);
@@ -110,6 +161,48 @@
jettyRunMojo.setProject(project);
jettyRunMojo.execute();
+
}
+ /*
+ * from org.codehaus.mojo.license.DefaultThirdPartyTool
+ * by tchemit
+ */
+ private File resolveFile() throws IOException,
+ ArtifactResolutionException, ArtifactNotFoundException {
+ File result;
+
+ // TODO: this is a bit crude - proper type, or proper handling as
+ // metadata rather than an artifact in 2.1?
+ Artifact artifact = artifactFactory.createArtifactWithClassifier(
+ PUBLICATION_WAR_GROUP_ID, PUBLICATION_WAR_ARTIFACT_ID,
+ project.getVersion(), DEPENDCY_TYPE_WAR, StringUtils.EMPTY);
+ // TODO mfortun-2011-08-18 change for version
+ try {
+ artifactResolver.resolve(artifact, remoteRepositories, localRepository);
+
+ result = artifact.getFile();
+
+ // we use zero length files to avoid re-resolution (see below)
+ if (result.length() == 0) {
+ getLog().debug("Skipped third party descriptor");
+ }
+ } catch (ArtifactNotFoundException e) {
+ getLog().debug(
+ "Unable to locate third party files descriptor : " + e);
+
+ // we can afford to write an empty descriptor here as we don't
+ // expect it to turn up later in the remote
+ // repository, because the parent was already released (and
+ // snapshots are updated automatically if changed)
+ result = new File(localRepository.getBasedir(),
+ localRepository.pathOf(artifact));
+
+ createNewFile(result);
+ }
+
+ return result;
+ }
+
+
}
1
0
r1171 - trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin
by mfortun@users.nuiton.org 18 Aug '11
by mfortun@users.nuiton.org 18 Aug '11
18 Aug '11
Author: mfortun
Date: 2011-08-18 12:05:22 +0200 (Thu, 18 Aug 2011)
New Revision: 1171
Url: http://nuiton.org/repositories/revision/wikitty/1171
Log:
*correct run goal, still need to load the war in a dynamic way
Modified:
trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/JettyUtil.java
trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPRunMojo.java
Modified: trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/JettyUtil.java
===================================================================
--- trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/JettyUtil.java 2011-08-18 06:40:12 UTC (rev 1170)
+++ trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/JettyUtil.java 2011-08-18 10:05:22 UTC (rev 1171)
@@ -6,6 +6,7 @@
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.project.MavenProject;
import org.eclipse.jetty.util.Scanner;
import org.eclipse.jetty.xml.XmlConfiguration;
import org.mortbay.jetty.plugin.AbstractJettyMojo;
@@ -155,7 +156,9 @@
}
}
-
+
-
+ public void setProject(MavenProject project) {
+ this.project = project;
+ }
}
Modified: trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPRunMojo.java
===================================================================
--- trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPRunMojo.java 2011-08-18 06:40:12 UTC (rev 1170)
+++ trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPRunMojo.java 2011-08-18 10:05:22 UTC (rev 1171)
@@ -25,13 +25,16 @@
package org.nuiton.wikitty.plugin;
import java.io.File;
+import java.net.URL;
import org.apache.maven.plugin.dependency.CopyDependenciesMojo;
+import org.nuiton.util.ApplicationConfig;
import org.nuiton.wikitty.WikittyConfigOption;
import org.nuiton.wikitty.publication.PropertiesExtended;
import org.nuiton.wikitty.publication.WikittyFileUtil;
import org.nuiton.wikitty.publication.WikittyPublicationConstant;
import org.nuiton.wikitty.publication.WikittyPublicationFallbackService;
+import org.nuiton.wikitty.publication.externalize.WikittyPublicationClassLoader;
import org.nuiton.wikitty.publication.synchro.WikittyPublicationFileSystem;
/**
@@ -59,13 +62,15 @@
// TODO mfortun-2011-08-17 need to use copyDepencies Mojo to find
// the wikittyPublication war
- File webApp = new File ("/home/Manou/workspaceStage/wikitty/wikitty-publication-ui/target/wikitty-publication-ui-3.2-SNAPSHOT.war");
-
- //CopyDependenciesMojo findWar = new CopyDependenciesMojo();
-
+ File webApp = new File(
+ "/home/Manou/workspaceStage/wikitty/wikitty-publication-ui/target/wikitty-publication-ui-3.2-SNAPSHOT.war");
+
+ // CopyDependenciesMojo findWar = new CopyDependenciesMojo();
+
System.out.println(webApp);
String build = project.getBuild().getDirectory();
- createDirectoryIfNecessary(new File(build));
+ File buildDir = new File(build);
+ createDirectoryIfNecessary(buildDir);
File propsFile = new File(build + File.separator
+ FALLBACK_PROPERTIE_FILE_NAME);
@@ -76,11 +81,11 @@
// construct propertie for fallback service
String fileSystemUrlService = getProject().getBasedir().toURI().toURL()
.toExternalForm();
+
fileSystemUrlService += WikittyPublicationConstant.LABEL_DELIM
+ SRC_DIR_NAME + WikittyFileUtil.WIKITTY_LABEL_SEPARATOR
+ MAIN_DIR_NAME;
-
PropertiesExtended propsFSServiceFall = new PropertiesExtended(
propsFile);
@@ -92,13 +97,17 @@
propsFSServiceFall.store();
// set the propertie to find our propertieFile
- //TODO mfortun-2011-08-17 need to put the complete path to the file ?
+ // TODO mfortun-2011-08-17 need to put the complete path to the file ?
System.setProperty(
WikittyPublicationFallbackService.WIKITTY_FALLBACK_FILE_KEY,
FALLBACK_PROPERTIE_FILE_NAME);
-
+ // use to specify were to found our properties file
+ System.setProperty(ApplicationConfig.CONFIG_PATH, getProject()
+ .getBuild().getDirectory());
+
JettyUtil jettyRunMojo = new JettyUtil();
jettyRunMojo.setWebApp(webApp);
+ jettyRunMojo.setProject(project);
jettyRunMojo.execute();
}
1
0
r1170 - in trunk: wikitty-api/src/license wikitty-dto/src/license wikitty-generators/src/license wikitty-hessian-client/src/license wikitty-hessian-server/src/license wikitty-jdbc/src/license wikitty-perf-test/src/license wikitty-publication/src/license wikitty-publication-ui/src/license wikitty-solr/src/license wp-maven-plugin/src/license
by tchemit@users.nuiton.org 18 Aug '11
by tchemit@users.nuiton.org 18 Aug '11
18 Aug '11
Author: tchemit
Date: 2011-08-18 08:40:12 +0200 (Thu, 18 Aug 2011)
New Revision: 1170
Url: http://nuiton.org/repositories/revision/wikitty/1170
Log:
update third-parties
Modified:
trunk/wikitty-api/src/license/THIRD-PARTY.properties
trunk/wikitty-dto/src/license/THIRD-PARTY.properties
trunk/wikitty-generators/src/license/THIRD-PARTY.properties
trunk/wikitty-hessian-client/src/license/THIRD-PARTY.properties
trunk/wikitty-hessian-server/src/license/THIRD-PARTY.properties
trunk/wikitty-jdbc/src/license/THIRD-PARTY.properties
trunk/wikitty-perf-test/src/license/THIRD-PARTY.properties
trunk/wikitty-publication-ui/src/license/THIRD-PARTY.properties
trunk/wikitty-publication/src/license/THIRD-PARTY.properties
trunk/wikitty-solr/src/license/THIRD-PARTY.properties
trunk/wp-maven-plugin/src/license/THIRD-PARTY.properties
Modified: trunk/wikitty-api/src/license/THIRD-PARTY.properties
===================================================================
--- trunk/wikitty-api/src/license/THIRD-PARTY.properties 2011-08-17 16:34:19 UTC (rev 1169)
+++ trunk/wikitty-api/src/license/THIRD-PARTY.properties 2011-08-18 06:40:12 UTC (rev 1170)
@@ -19,7 +19,7 @@
# Please fill the missing licenses for dependencies :
#
#
-#Fri Aug 12 16:00:24 CEST 2011
+#Thu Aug 18 08:18:18 CEST 2011
commons-primitives--commons-primitives--1.0=The Apache Software License, Version 2.0
concurrent--concurrent--1.0=TECHNOLOGY LICENSE FROM SUN MICROSYSTEMS, INC.
dom4j--dom4j--1.6.1=BSD License
Modified: trunk/wikitty-dto/src/license/THIRD-PARTY.properties
===================================================================
--- trunk/wikitty-dto/src/license/THIRD-PARTY.properties 2011-08-17 16:34:19 UTC (rev 1169)
+++ trunk/wikitty-dto/src/license/THIRD-PARTY.properties 2011-08-18 06:40:12 UTC (rev 1170)
@@ -20,7 +20,7 @@
# Please fill the missing licenses for dependencies :
#
#
-#Fri Aug 12 16:00:33 CEST 2011
+#Thu Aug 18 08:18:39 CEST 2011
commons-primitives--commons-primitives--1.0=The Apache Software License, Version 2.0
concurrent--concurrent--1.0=TECHNOLOGY LICENSE FROM SUN MICROSYSTEMS, INC.
dom4j--dom4j--1.6.1=BSD License
Modified: trunk/wikitty-generators/src/license/THIRD-PARTY.properties
===================================================================
--- trunk/wikitty-generators/src/license/THIRD-PARTY.properties 2011-08-17 16:34:19 UTC (rev 1169)
+++ trunk/wikitty-generators/src/license/THIRD-PARTY.properties 2011-08-18 06:40:12 UTC (rev 1170)
@@ -15,7 +15,7 @@
# Please fill the missing licenses for dependencies :
#
#
-#Fri Aug 12 16:00:15 CEST 2011
+#Thu Aug 18 08:18:10 CEST 2011
commons-digester--commons-digester--2.0=Apache Software License, Version 2.0
commons-primitives--commons-primitives--1.0=Apache Software License, Version 2.0
dom4j--dom4j--1.6.1=BSD License
Modified: trunk/wikitty-hessian-client/src/license/THIRD-PARTY.properties
===================================================================
--- trunk/wikitty-hessian-client/src/license/THIRD-PARTY.properties 2011-08-17 16:34:19 UTC (rev 1169)
+++ trunk/wikitty-hessian-client/src/license/THIRD-PARTY.properties 2011-08-18 06:40:12 UTC (rev 1170)
@@ -19,7 +19,7 @@
# Please fill the missing licenses for dependencies :
#
#
-#Fri Aug 12 15:58:55 CEST 2011
+#Thu Aug 18 08:39:48 CEST 2011
commons-primitives--commons-primitives--1.0=The Apache Software License, Version 2.0
concurrent--concurrent--1.0=TECHNOLOGY LICENSE FROM SUN MICROSYSTEMS, INC.
javax.transaction--jta--1.1=COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
Modified: trunk/wikitty-hessian-server/src/license/THIRD-PARTY.properties
===================================================================
--- trunk/wikitty-hessian-server/src/license/THIRD-PARTY.properties 2011-08-17 16:34:19 UTC (rev 1169)
+++ trunk/wikitty-hessian-server/src/license/THIRD-PARTY.properties 2011-08-18 06:40:12 UTC (rev 1170)
@@ -23,7 +23,7 @@
# Please fill the missing licenses for dependencies :
#
#
-#Fri Aug 12 15:58:56 CEST 2011
+#Thu Aug 18 08:39:50 CEST 2011
commons-primitives--commons-primitives--1.0=The Apache Software License, Version 2.0
concurrent--concurrent--1.0=TECHNOLOGY LICENSE FROM SUN MICROSYSTEMS, INC.
javax.servlet--servlet-api--2.5=COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
Modified: trunk/wikitty-jdbc/src/license/THIRD-PARTY.properties
===================================================================
--- trunk/wikitty-jdbc/src/license/THIRD-PARTY.properties 2011-08-17 16:34:19 UTC (rev 1169)
+++ trunk/wikitty-jdbc/src/license/THIRD-PARTY.properties 2011-08-18 06:40:12 UTC (rev 1170)
@@ -22,7 +22,7 @@
# Please fill the missing licenses for dependencies :
#
#
-#Fri Aug 12 16:00:40 CEST 2011
+#Thu Aug 18 08:19:06 CEST 2011
antlr--antlr--2.7.2=BSD License
commons-primitives--commons-primitives--1.0=The Apache Software License, Version 2.0
concurrent--concurrent--1.0=TECHNOLOGY LICENSE FROM SUN MICROSYSTEMS, INC.
Modified: trunk/wikitty-perf-test/src/license/THIRD-PARTY.properties
===================================================================
--- trunk/wikitty-perf-test/src/license/THIRD-PARTY.properties 2011-08-17 16:34:19 UTC (rev 1169)
+++ trunk/wikitty-perf-test/src/license/THIRD-PARTY.properties 2011-08-18 06:40:12 UTC (rev 1170)
@@ -21,7 +21,7 @@
# Please fill the missing licenses for dependencies :
#
#
-#Fri Aug 12 15:58:59 CEST 2011
+#Thu Aug 18 08:39:53 CEST 2011
commons-primitives--commons-primitives--1.0=Apache Software License, Version 2.0
concurrent--concurrent--1.0=TECHNOLOGY LICENSE FROM SUN MICROSYSTEMS, INC.
javax.transaction--jta--1.1=COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
Modified: trunk/wikitty-publication/src/license/THIRD-PARTY.properties
===================================================================
--- trunk/wikitty-publication/src/license/THIRD-PARTY.properties 2011-08-17 16:34:19 UTC (rev 1169)
+++ trunk/wikitty-publication/src/license/THIRD-PARTY.properties 2011-08-18 06:40:12 UTC (rev 1170)
@@ -22,7 +22,7 @@
# Please fill the missing licenses for dependencies :
#
#
-#Fri Aug 12 15:57:58 CEST 2011
+#Thu Aug 18 08:19:23 CEST 2011
antlr--antlr--2.7.2=BSD License
commons-primitives--commons-primitives--1.0=The Apache Software License, Version 2.0
concurrent--concurrent--1.0=TECHNOLOGY LICENSE FROM SUN MICROSYSTEMS, INC.
Modified: trunk/wikitty-publication-ui/src/license/THIRD-PARTY.properties
===================================================================
--- trunk/wikitty-publication-ui/src/license/THIRD-PARTY.properties 2011-08-17 16:34:19 UTC (rev 1169)
+++ trunk/wikitty-publication-ui/src/license/THIRD-PARTY.properties 2011-08-18 06:40:12 UTC (rev 1170)
@@ -24,7 +24,7 @@
# Please fill the missing licenses for dependencies :
#
#
-#Fri Aug 12 16:03:26 CEST 2011
+#Thu Aug 18 08:39:38 CEST 2011
antlr--antlr--2.7.2=BSD License
asm--asm--3.1=The Apache Software License, Version 2.0
asm--asm-commons--3.1=The Apache Software License, Version 2.0
Modified: trunk/wikitty-solr/src/license/THIRD-PARTY.properties
===================================================================
--- trunk/wikitty-solr/src/license/THIRD-PARTY.properties 2011-08-17 16:34:19 UTC (rev 1169)
+++ trunk/wikitty-solr/src/license/THIRD-PARTY.properties 2011-08-18 06:40:12 UTC (rev 1170)
@@ -21,7 +21,7 @@
# Please fill the missing licenses for dependencies :
#
#
-#Fri Aug 12 16:00:37 CEST 2011
+#Thu Aug 18 08:18:43 CEST 2011
antlr--antlr--2.7.2=BSD License
commons-primitives--commons-primitives--1.0=The Apache Software License, Version 2.0
concurrent--concurrent--1.0=TECHNOLOGY LICENSE FROM SUN MICROSYSTEMS, INC.
Modified: trunk/wp-maven-plugin/src/license/THIRD-PARTY.properties
===================================================================
--- trunk/wp-maven-plugin/src/license/THIRD-PARTY.properties 2011-08-17 16:34:19 UTC (rev 1169)
+++ trunk/wp-maven-plugin/src/license/THIRD-PARTY.properties 2011-08-18 06:40:12 UTC (rev 1170)
@@ -2,13 +2,19 @@
#-------------------------------------------------------------------------------
# Already used licenses in project :
# - Apache License
+# - Apache Software License - Version 2.0
# - Apache Software License, Version 1.1
# - Apache Software License, version 1.1
# - BSD License
# - BSD style
+# - CDDL 1.0
# - COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
# - Common Public License Version 1.0
+# - Eclipse Public License - Version 1.0
+# - Eclipse Public License v1.0
# - Indiana University Extreme! Lab Software License, vesion 1.1.1
+# - JDom appache like license
+# - Java HTML Tidy License
# - Lesser General Public License (LGPL) v 3.0
# - Lesser General Public License (LPGL)
# - Lesser General Public License (LPGL) v 2.1
@@ -18,22 +24,34 @@
# - TECHNOLOGY LICENSE FROM SUN MICROSYSTEMS, INC.
# - The Apache Software License, Version 2.0
# - The H2 License, Version 1.0
+# - http://asm.ow2.org/license.html
# - http://classworlds.codehaus.org/license.html
#-------------------------------------------------------------------------------
# Please fill the missing licenses for dependencies :
#
#
-#Fri Aug 12 15:54:57 CEST 2011
+#Thu Aug 18 08:39:32 CEST 2011
antlr--antlr--2.7.2=BSD License
-classworlds--classworlds--1.1-alpha-2=http\://classworlds.codehaus.org/license.html
+asm--asm--3.0=http\://asm.ow2.org/license.html
+asm--asm-commons--3.1=http\://asm.ow2.org/license.html
+asm--asm-tree--3.1=http\://asm.ow2.org/license.html
+classworlds--classworlds--1.1=http\://classworlds.codehaus.org/license.html
+commons-cli--commons-cli--1.0=The Apache Software License, Version 2.0
+commons-digester--commons-digester--1.6=The Apache Software License, Version 2.0
commons-primitives--commons-primitives--1.0=The Apache Software License, Version 2.0
concurrent--concurrent--1.0=TECHNOLOGY LICENSE FROM SUN MICROSYSTEMS, INC.
+de.zeigermann.xml--xml-im-exporter--1.1=Lesser General Public License (LPGL) v 2.1
dom4j--dom4j--1.1=BSD License
jakarta-regexp--jakarta-regexp--1.4=The Apache Software License, Version 2.0
javassist--javassist--3.8.0.GA=Lesser General Public License (LPGL)
javax.servlet--servlet-api--2.5=COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
javax.transaction--jta--1.1=COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
+jdom--jdom--1.0=JDom appache like license
org.apache.zookeeper--zookeeper--3.3.1=The Apache Software License, Version 2.0
org.codehaus.plexus--plexus-container-default--1.0-alpha-9-stable-1=The Apache Software License, Version 2.0
+org.codehaus.plexus--plexus-i18n--1.0-beta-7=The Apache Software License, Version 2.0
+org.codehaus.plexus--plexus-interactivity-api--1.0-alpha-4=The Apache Software License, Version 2.0
+org.codehaus.plexus--plexus-velocity--1.1.7=The Apache Software License, Version 2.0
oro--oro--2.0.8=The Apache Software License, Version 2.0
+slide--slide-webdavlib--2.1=The Apache Software License, Version 2.0
xpp3--xpp3_min--1.1.3.4.O=Indiana University Extreme\! Lab Software License, vesion 1.1.1
1
0
r1169 - trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin
by mfortun@users.nuiton.org 17 Aug '11
by mfortun@users.nuiton.org 17 Aug '11
17 Aug '11
Author: mfortun
Date: 2011-08-17 18:34:19 +0200 (Wed, 17 Aug 2011)
New Revision: 1169
Url: http://nuiton.org/repositories/revision/wikitty/1169
Log:
*correct plugins, wp:run need to be corect invocation of jetty:run don't work
Modified:
trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPJarMojo.java
trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPRunMojo.java
Modified: trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPJarMojo.java
===================================================================
--- trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPJarMojo.java 2011-08-17 15:09:44 UTC (rev 1168)
+++ trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPJarMojo.java 2011-08-17 16:34:19 UTC (rev 1169)
@@ -49,6 +49,8 @@
*/
public class WPJarMojo extends AbstractWPMojo {
+ static public String EXTERNALIZE_PREFIX = "externalize-";
+
@Override
protected void init() throws Exception {
// TODO
@@ -60,18 +62,29 @@
// to made a well formed jar we need to synchronise first
// with this we will obtain the same directory/label configuration
// that we will have on a classic service
+
+
String origin = getProject().getBasedir().toURI().toURL()
.toExternalForm();
- String target = origin;
origin += WikittyPublicationConstant.LABEL_DELIM + SRC_DIR_NAME
+ WikittyFileUtil.WIKITTY_LABEL_SEPARATOR + MAIN_DIR_NAME;
- target += getProject().getBuild().getDirectory();
- createDirectoryIfNecessary(new File(target));
+ String buildDir = getProject().getBuild().getDirectory();
+ File targetFile = new File(buildDir);
+ createDirectoryIfNecessary(targetFile);
+
+ String appPath = WikittyFileUtil.labelToPath(applicationName);
+ File appsDir = new File(buildDir+File.separator+appPath);
+
+ createDirectoryIfNecessary(appsDir);
+
+ String target = targetFile.toURI().toURL().toExternalForm();
target += WikittyPublicationConstant.LABEL_DELIM + applicationName;
-
+
+
+
WikittyPublicationSynchronize.synchronisationServices(origin, target,
true, false, false);
@@ -88,9 +101,11 @@
Criteria critOnWikittyWithLabel = Search.query().keyword("*")
.criteria();
+
+ String jarName = EXTERNALIZE_PREFIX+applicationName;
WikittyPublicationExternalize.externalize(appconfig,
- critOnWikittyWithLabel);
+ critOnWikittyWithLabel,targetFile, jarName);
}
Modified: trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPRunMojo.java
===================================================================
--- trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPRunMojo.java 2011-08-17 15:09:44 UTC (rev 1168)
+++ trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPRunMojo.java 2011-08-17 16:34:19 UTC (rev 1169)
@@ -59,10 +59,11 @@
// TODO mfortun-2011-08-17 need to use copyDepencies Mojo to find
// the wikittyPublication war
- File webApp = null;
+ File webApp = new File ("/home/Manou/workspaceStage/wikitty/wikitty-publication-ui/target/wikitty-publication-ui-3.2-SNAPSHOT.war");
- //CopyDependenciesMojo
-
+ //CopyDependenciesMojo findWar = new CopyDependenciesMojo();
+
+ System.out.println(webApp);
String build = project.getBuild().getDirectory();
createDirectoryIfNecessary(new File(build));
@@ -95,9 +96,10 @@
System.setProperty(
WikittyPublicationFallbackService.WIKITTY_FALLBACK_FILE_KEY,
FALLBACK_PROPERTIE_FILE_NAME);
-
+
JettyUtil jettyRunMojo = new JettyUtil();
jettyRunMojo.setWebApp(webApp);
+
jettyRunMojo.execute();
}
1
0
17 Aug '11
Author: mfortun
Date: 2011-08-17 17:09:44 +0200 (Wed, 17 Aug 2011)
New Revision: 1168
Url: http://nuiton.org/repositories/revision/wikitty/1168
Log:
*reorganize properties file
Removed:
trunk/wikitty-publication-ui/src/main/resources/wikitty-publication-ws-codelutin.properties
trunk/wikitty-publication-ui/src/main/resources/wikitty-publication-ws-jar.properties
trunk/wikitty-publication-ui/src/main/resources/wikitty-publication-ws-light.properties
trunk/wikitty-publication-ui/src/main/resources/wikitty-publication-ws-lightfallback.properties
trunk/wikitty-publication-ui/src/main/resources/wikitty-publication-ws-test.properties
Modified:
trunk/wikitty-publication-ui/src/main/resources/wikitty-publication-ws-default.properties
trunk/wikitty-publication-ui/src/main/resources/wikitty-publication-ws-fallback.properties
Deleted: trunk/wikitty-publication-ui/src/main/resources/wikitty-publication-ws-codelutin.properties
===================================================================
--- trunk/wikitty-publication-ui/src/main/resources/wikitty-publication-ws-codelutin.properties 2011-08-17 14:59:50 UTC (rev 1167)
+++ trunk/wikitty-publication-ui/src/main/resources/wikitty-publication-ws-codelutin.properties 2011-08-17 15:09:44 UTC (rev 1168)
@@ -1,26 +0,0 @@
-###
-# #%L
-# Wikitty :: publication
-#
-# $Id$
-# $HeadURL$
-# %%
-# Copyright (C) 2010 CodeLutin, Benjamin Poussin
-# %%
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Lesser Public License for more details.
-#
-# You should have received a copy of the GNU General Lesser Public
-# License along with this program. If not, see
-# <http://www.gnu.org/licenses/lgpl-3.0.html>.
-# #L%
-###
-#wikitty.data.directory=/var/lib/wikitty-publication/codelutin/
-wikitty.service.server.url=http://localhost:2222/wikitty
\ No newline at end of file
Modified: trunk/wikitty-publication-ui/src/main/resources/wikitty-publication-ws-default.properties
===================================================================
--- trunk/wikitty-publication-ui/src/main/resources/wikitty-publication-ws-default.properties 2011-08-17 14:59:50 UTC (rev 1167)
+++ trunk/wikitty-publication-ui/src/main/resources/wikitty-publication-ws-default.properties 2011-08-17 15:09:44 UTC (rev 1168)
@@ -23,7 +23,7 @@
# #L%
###
-wikitty.data.directory=./targetBD1/data
+wikitty.data.directory=target/wikitty-pub-storage
wikitty.service.server.url=http://localhost:1111/wikitty
wikitty.storage.jdbc.queryfile=wikitty-jdbc-query.properties
wikitty.storage.jdbc.driver=org.h2.Driver
@@ -37,6 +37,7 @@
wikitty.searchengine.solr.directory.data=${wikitty.data.directory}/data/solr
wikitty.searchengine.solr.directory.factory=solr.StandardDirectoryFactory
wikitty.WikittyService.components=org.nuiton.wikitty.services.WikittyServiceStorage,\
+org.nuiton.wikitty.publication.WikittyPublicationFallbackService,\
org.nuiton.wikitty.services.WikittyServiceNotifier,\
org.nuiton.wikitty.services.WikittyServiceCached,\
org.nuiton.wikitty.services.WikittyServiceSecurity,\
@@ -56,3 +57,6 @@
wikitty.addon.export.publicurl=file://${wikitty.data.directory}/export/
wikitty.WikittyServiceAccessStat.components=\
org.nuiton.wikitty.services.WikittyServiceAccessStat$AccessStatStorageLog
+
+wikitty.fallback.file=wikitty-publication-ws-fallback.properties
+wikitty.fallback.override=false
Modified: trunk/wikitty-publication-ui/src/main/resources/wikitty-publication-ws-fallback.properties
===================================================================
--- trunk/wikitty-publication-ui/src/main/resources/wikitty-publication-ws-fallback.properties 2011-08-17 14:59:50 UTC (rev 1167)
+++ trunk/wikitty-publication-ui/src/main/resources/wikitty-publication-ws-fallback.properties 2011-08-17 15:09:44 UTC (rev 1168)
@@ -22,41 +22,6 @@
# <http://www.gnu.org/licenses/lgpl-3.0.html>.
# #L%
###
+wikitty.WikittyService.components=org.nuiton.wikitty.publication.externalize.WikittyServiceJarLoader
+wikitty.publication.repository.jar=${wikitty.data.directory}/jar
-wikitty.data.directory=./targetBD1/data
-wikitty.service.server.url=http://localhost:1111/wikitty
-wikitty.storage.jdbc.queryfile=wikitty-jdbc-query.properties
-wikitty.storage.jdbc.driver=org.h2.Driver
-wikitty.storage.jdbc.host=jdbc:h2:file:${wikitty.data.directory}/data/db
-wikitty.storage.jdbc.login=sa
-wikitty.storage.jdbc.password=
-wikitty.storage.jdbc.xadatasource=org.h2.jdbcx.JdbcDataSource
-wikitty.storage.jdbc.xadatasource.org.h2.jdbcx.JdbcDataSource.URL=${wikitty.storage.jdbc.host}
-wikitty.storage.jdbc.xadatasource.org.h2.jdbcx.JdbcDataSource.user=${wikitty.storage.jdbc.login}
-wikitty.storage.jdbc.xadatasource.org.h2.jdbcx.JdbcDataSource.password=${wikitty.storage.jdbc.password}
-wikitty.searchengine.solr.directory.data=${wikitty.data.directory}/data/solr
-wikitty.searchengine.solr.directory.factory=solr.StandardDirectoryFactory
-wikitty.WikittyService.components=org.nuiton.wikitty.services.WikittyServiceStorage,\
-org.nuiton.wikitty.publication.WikittyPublicationFallbackService,\
-org.nuiton.wikitty.services.WikittyServiceNotifier,\
-org.nuiton.wikitty.services.WikittyServiceCached,\
-org.nuiton.wikitty.services.WikittyServiceSecurity,\
-org.nuiton.wikitty.services.WikittyServiceAccessStat
-
-wikitty.WikittyServiceStorage.components=org.nuiton.wikitty.jdbc.WikittyExtensionStorageJDBC,\
-org.nuiton.wikitty.jdbc.WikittyStorageJDBC,\
-org.nuiton.wikitty.storage.solr.WikittySearchEngineSolr
-wikitty.service.cache.listenevents=false
-wikitty.service.cache.allwaysRestoreCopies=false
-wikitty.service.event.propagate=false
-wikitty.service.event.listen=false
-wikitty.service.accessstat.extensions=WikittyPubText,WikittyPubData
-wikitty.addon.export.threadnumber=1
-wikitty.addon.export.directory=${wikitty.data.directory}/export
-wikitty.addon.export.publicurl=file://${wikitty.data.directory}/export/
-wikitty.WikittyServiceAccessStat.components=\
-org.nuiton.wikitty.services.WikittyServiceAccessStat$AccessStatStorageLog
-
-wikitty.fallback.file=wikitty-publication-ws-jar.properties
-wikitty.fallback.override=false
-
Deleted: trunk/wikitty-publication-ui/src/main/resources/wikitty-publication-ws-jar.properties
===================================================================
--- trunk/wikitty-publication-ui/src/main/resources/wikitty-publication-ws-jar.properties 2011-08-17 14:59:50 UTC (rev 1167)
+++ trunk/wikitty-publication-ui/src/main/resources/wikitty-publication-ws-jar.properties 2011-08-17 15:09:44 UTC (rev 1168)
@@ -1,29 +0,0 @@
-###
-# #%L
-# Wikitty :: publication
-#
-# $Id$
-# $HeadURL$
-# %%
-# Copyright (C) 2009 - 2010 CodeLutin, Benjamin Poussin
-# %%
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Lesser Public License for more details.
-#
-# You should have received a copy of the GNU General Lesser Public
-# License along with this program. If not, see
-# <http://www.gnu.org/licenses/lgpl-3.0.html>.
-# #L%
-###
-
-
-wikitty.WikittyService.components=org.nuiton.wikitty.publication.externalize.WikittyServiceJarLoader
-wikitty.publication.repository.jar=/home/Manou/testWP/
-
Deleted: trunk/wikitty-publication-ui/src/main/resources/wikitty-publication-ws-light.properties
===================================================================
--- trunk/wikitty-publication-ui/src/main/resources/wikitty-publication-ws-light.properties 2011-08-17 14:59:50 UTC (rev 1167)
+++ trunk/wikitty-publication-ui/src/main/resources/wikitty-publication-ws-light.properties 2011-08-17 15:09:44 UTC (rev 1168)
@@ -1,28 +0,0 @@
-###
-# #%L
-# Wikitty :: publication
-#
-# $Id$
-# $HeadURL$
-# %%
-# Copyright (C) 2009 - 2010 CodeLutin, Benjamin Poussin
-# %%
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Lesser Public License for more details.
-#
-# You should have received a copy of the GNU General Lesser Public
-# License along with this program. If not, see
-# <http://www.gnu.org/licenses/lgpl-3.0.html>.
-# #L%
-###
-
-
-wikitty.service.server.url=http://localhost:1111/wikitty
-wikitty.WikittyService.components=org.nuiton.wikitty.services.WikittyServiceCajoClient
Deleted: trunk/wikitty-publication-ui/src/main/resources/wikitty-publication-ws-lightfallback.properties
===================================================================
--- trunk/wikitty-publication-ui/src/main/resources/wikitty-publication-ws-lightfallback.properties 2011-08-17 14:59:50 UTC (rev 1167)
+++ trunk/wikitty-publication-ui/src/main/resources/wikitty-publication-ws-lightfallback.properties 2011-08-17 15:09:44 UTC (rev 1168)
@@ -1,28 +0,0 @@
-###
-# #%L
-# Wikitty :: publication
-#
-# $Id$
-# $HeadURL$
-# %%
-# Copyright (C) 2009 - 2010 CodeLutin, Benjamin Poussin
-# %%
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Lesser Public License for more details.
-#
-# You should have received a copy of the GNU General Lesser Public
-# License along with this program. If not, see
-# <http://www.gnu.org/licenses/lgpl-3.0.html>.
-# #L%
-###
-
-
-wikitty.service.server.url=http://localhost:2222/wikitty
-wikitty.WikittyService.components=org.nuiton.wikitty.services.WikittyServiceCajoClient
Deleted: trunk/wikitty-publication-ui/src/main/resources/wikitty-publication-ws-test.properties
===================================================================
--- trunk/wikitty-publication-ui/src/main/resources/wikitty-publication-ws-test.properties 2011-08-17 14:59:50 UTC (rev 1167)
+++ trunk/wikitty-publication-ui/src/main/resources/wikitty-publication-ws-test.properties 2011-08-17 15:09:44 UTC (rev 1168)
@@ -1,56 +0,0 @@
-###
-# #%L
-# Wikitty :: publication
-#
-# $Id$
-# $HeadURL$
-# %%
-# Copyright (C) 2009 - 2010 CodeLutin, Benjamin Poussin
-# %%
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Lesser Public License for more details.
-#
-# You should have received a copy of the GNU General Lesser Public
-# License along with this program. If not, see
-# <http://www.gnu.org/licenses/lgpl-3.0.html>.
-# #L%
-###
-
-
-wikitty.storage.jdbc.queryfile=wikitty-jdbc-query.properties
-wikitty.storage.jdbc.driver=org.h2.Driver
-wikitty.storage.jdbc.host=jdbc:h2:file:${wikitty.data.directory}/data/db
-wikitty.storage.jdbc.login=sa
-wikitty.storage.jdbc.password=
-wikitty.storage.jdbc.xadatasource=org.h2.jdbcx.JdbcDataSource
-wikitty.storage.jdbc.xadatasource.org.h2.jdbcx.JdbcDataSource.URL=${wikitty.storage.jdbc.host}
-wikitty.storage.jdbc.xadatasource.org.h2.jdbcx.JdbcDataSource.user=${wikitty.storage.jdbc.login}
-wikitty.storage.jdbc.xadatasource.org.h2.jdbcx.JdbcDataSource.password=${wikitty.storage.jdbc.password}
-wikitty.searchengine.solr.directory.data=${wikitty.data.directory}/data/solr
-wikitty.searchengine.solr.directory.factory=solr.StandardDirectoryFactory
-wikitty.WikittyService.components=org.nuiton.wikitty.services.WikittyServiceStorage,\
-org.nuiton.wikitty.services.WikittyServiceNotifier,\
-org.nuiton.wikitty.services.WikittyServiceCached,\
-org.nuiton.wikitty.services.WikittyServiceSecurity,\
-org.nuiton.wikitty.services.WikittyServiceAccessStat
-
-wikitty.WikittyServiceStorage.components=org.nuiton.wikitty.jdbc.WikittyExtensionStorageJDBC,\
-org.nuiton.wikitty.jdbc.WikittyStorageJDBC,\
-org.nuiton.wikitty.storage.solr.WikittySearchEngineSolr
-wikitty.service.cache.listenevents=false
-wikitty.service.cache.allwaysRestoreCopies=false
-wikitty.service.event.propagate=false
-wikitty.service.event.listen=false
-wikitty.service.accessstat.extensions=WikittyPubText,WikittyPubData
-wikitty.addon.export.threadnumber=1
-wikitty.addon.export.directory=${wikitty.data.directory}/export
-wikitty.addon.export.publicurl=file://${wikitty.data.directory}/export/
-wikitty.WikittyServiceAccessStat.components=\
-org.nuiton.wikitty.services.WikittyServiceAccessStat$AccessStatStorageLog
1
0
r1167 - in trunk: . wikitty-publication wp-maven-plugin wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin
by mfortun@users.nuiton.org 17 Aug '11
by mfortun@users.nuiton.org 17 Aug '11
17 Aug '11
Author: mfortun
Date: 2011-08-17 16:59:50 +0200 (Wed, 17 Aug 2011)
New Revision: 1167
Url: http://nuiton.org/repositories/revision/wikitty/1167
Log:
*working on run goal
Added:
trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/JettyUtil.java
Modified:
trunk/pom.xml
trunk/wikitty-publication/pom.xml
trunk/wp-maven-plugin/pom.xml
trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPJarMojo.java
trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPRunMojo.java
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2011-08-17 12:39:27 UTC (rev 1166)
+++ trunk/pom.xml 2011-08-17 14:59:50 UTC (rev 1167)
@@ -383,7 +383,21 @@
<version>${jspapiversion}</version>
</dependency>
+ <!-- Maven plugin for wikitty publication specific dependency -->
<dependency>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty-maven-plugin</artifactId>
+ <version>${jettyPluginVersion}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <version>${dependencyPluginVersion}</version>
+ </dependency>
+
+
+ <dependency>
<groupId>org.nuiton</groupId>
<artifactId>maven-helper-plugin</artifactId>
<version>${helperPluginVersion}</version>
@@ -505,6 +519,19 @@
<artifactId>plexus-utils</artifactId>
<version>1.5.15</version>
</dependency>
+
+ <!-- Maven plugin for wikitty publication specific dependency -->
+ <dependency>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty-maven-plugin</artifactId>
+ <version>${jettyPluginVersion}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <version>${dependencyPluginVersion}</version>
+ </dependency>
</dependencies>
Modified: trunk/wikitty-publication/pom.xml
===================================================================
--- trunk/wikitty-publication/pom.xml 2011-08-17 12:39:27 UTC (rev 1166)
+++ trunk/wikitty-publication/pom.xml 2011-08-17 14:59:50 UTC (rev 1167)
@@ -136,7 +136,7 @@
<artifactId>log4j</artifactId>
<scope>runtime</scope>
</dependency>
-
+
</dependencies>
<!-- ************************************************************* -->
Modified: trunk/wp-maven-plugin/pom.xml
===================================================================
--- trunk/wp-maven-plugin/pom.xml 2011-08-17 12:39:27 UTC (rev 1166)
+++ trunk/wp-maven-plugin/pom.xml 2011-08-17 14:59:50 UTC (rev 1167)
@@ -77,6 +77,17 @@
<scope>runtime</scope>
</dependency>
+ <dependency>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty-maven-plugin</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ </dependency>
+
+
</dependencies>
<!-- ************************************************************* -->
Added: trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/JettyUtil.java
===================================================================
--- trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/JettyUtil.java (rev 0)
+++ trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/JettyUtil.java 2011-08-17 14:59:50 UTC (rev 1167)
@@ -0,0 +1,161 @@
+package org.nuiton.wikitty.plugin;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.eclipse.jetty.util.Scanner;
+import org.eclipse.jetty.xml.XmlConfiguration;
+import org.mortbay.jetty.plugin.AbstractJettyMojo;
+
+/**
+ * New definition of the JettyRunWarMojo
+ * to set the protected visibility and getter and setter for the webApp file
+ *
+ * @author mfortun
+ *
+ */
+public class JettyUtil extends AbstractJettyMojo
+{
+
+ /**
+ * The location of the war file.
+ * @parameter expression="${project.build.directory}/${project.build.finalName}.war"
+ * @required
+ */
+ protected File webApp;
+
+
+
+ public File getWebApp() {
+ return webApp;
+ }
+
+
+
+ public void setWebApp(File webApp) {
+ this.webApp = webApp;
+ }
+
+
+
+ /**
+ * @see org.apache.maven.plugin.Mojo#execute()
+ */
+ public void execute() throws MojoExecutionException, MojoFailureException
+ {
+ super.execute();
+ }
+
+
+
+ public void configureWebApplication () throws Exception
+ {
+ super.configureWebApplication();
+
+ webAppConfig.setWar(webApp.getCanonicalPath());
+ }
+
+
+
+ /**
+ * @see org.mortbay.jetty.plugin.AbstractJettyMojo#checkPomConfiguration()
+ */
+ public void checkPomConfiguration() throws MojoExecutionException
+ {
+ return;
+ }
+
+
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jetty.server.plugin.AbstractJettyMojo#configureScanner()
+ */
+ public void configureScanner() throws MojoExecutionException
+ {
+ final ArrayList scanList = new ArrayList();
+ scanList.add(getProject().getFile());
+ scanList.add(webApp);
+ setScanList(scanList);
+
+ ArrayList listeners = new ArrayList();
+ listeners.add(new Scanner.BulkListener()
+ {
+ public void filesChanged(List changes)
+ {
+ try
+ {
+ boolean reconfigure = changes.contains(getProject().getFile().getCanonicalPath());
+ restartWebApp(reconfigure);
+ }
+ catch (Exception e)
+ {
+ getLog().error("Error reconfiguring/restarting webapp after change in watched files",e);
+ }
+ }
+ });
+ setScannerListeners(listeners);
+
+ }
+
+
+
+
+ public void restartWebApp(boolean reconfigureScanner) throws Exception
+ {
+ getLog().info("Restarting webapp ...");
+ getLog().debug("Stopping webapp ...");
+ webAppConfig.stop();
+ getLog().debug("Reconfiguring webapp ...");
+
+ checkPomConfiguration();
+
+ // check if we need to reconfigure the scanner,
+ // which is if the pom changes
+ if (reconfigureScanner)
+ {
+ getLog().info("Reconfiguring scanner after change to pom.xml ...");
+ ArrayList scanList = getScanList();
+ scanList.clear();
+ scanList.add(getProject().getFile());
+ scanList.add(webApp);
+ setScanList(scanList);
+ getScanner().setScanDirs(scanList);
+ }
+
+ getLog().debug("Restarting webapp ...");
+ webAppConfig.start();
+ getLog().info("Restart completed.");
+ }
+
+
+ /**
+ * @see org.mortbay.jetty.plugin.AbstractJettyMojo#finishConfigurationBeforeStart()
+ */
+ public void finishConfigurationBeforeStart()
+ {
+ return;
+ }
+
+
+
+
+ public void applyJettyXml() throws Exception
+ {
+ if (getJettyXmlFiles() == null)
+ return;
+
+ for ( File xmlFile : getJettyXmlFiles() )
+ {
+ getLog().info( "Configuring Jetty from xml configuration file = " + xmlFile.getCanonicalPath() );
+ XmlConfiguration xmlConfiguration = new XmlConfiguration(xmlFile.toURI().toURL());
+ xmlConfiguration.configure(this.server);
+ }
+ }
+
+
+
+
+}
Modified: trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPJarMojo.java
===================================================================
--- trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPJarMojo.java 2011-08-17 12:39:27 UTC (rev 1166)
+++ trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPJarMojo.java 2011-08-17 14:59:50 UTC (rev 1167)
@@ -24,6 +24,8 @@
*/
package org.nuiton.wikitty.plugin;
+import java.io.File;
+
import org.nuiton.util.ApplicationConfig;
import org.nuiton.wikitty.WikittyConfigOption;
import org.nuiton.wikitty.publication.WikittyFileUtil;
@@ -65,8 +67,10 @@
origin += WikittyPublicationConstant.LABEL_DELIM + SRC_DIR_NAME
+ WikittyFileUtil.WIKITTY_LABEL_SEPARATOR + MAIN_DIR_NAME;
- target += getProject().getBuild().getDirectory()
- + WikittyPublicationConstant.LABEL_DELIM + applicationName;
+ target += getProject().getBuild().getDirectory();
+ createDirectoryIfNecessary(new File(target));
+
+ target += WikittyPublicationConstant.LABEL_DELIM + applicationName;
WikittyPublicationSynchronize.synchronisationServices(origin, target,
true, false, false);
Modified: trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPRunMojo.java
===================================================================
--- trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPRunMojo.java 2011-08-17 12:39:27 UTC (rev 1166)
+++ trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPRunMojo.java 2011-08-17 14:59:50 UTC (rev 1167)
@@ -24,9 +24,19 @@
*/
package org.nuiton.wikitty.plugin;
+import java.io.File;
+
+import org.apache.maven.plugin.dependency.CopyDependenciesMojo;
+import org.nuiton.wikitty.WikittyConfigOption;
+import org.nuiton.wikitty.publication.PropertiesExtended;
+import org.nuiton.wikitty.publication.WikittyFileUtil;
+import org.nuiton.wikitty.publication.WikittyPublicationConstant;
+import org.nuiton.wikitty.publication.WikittyPublicationFallbackService;
+import org.nuiton.wikitty.publication.synchro.WikittyPublicationFileSystem;
+
/**
* To run a wikitty publication project.
- *
+ *
* @author tchemit <chemit(a)codelutin.com>
* @version $Id$
* @goal run
@@ -37,16 +47,58 @@
*/
public class WPRunMojo extends AbstractWPMojo {
+ static public String FALLBACK_PROPERTIE_FILE_NAME = "fallback.properties";
+
@Override
protected void init() throws Exception {
- //TODO
+ // TODO
}
@Override
protected void doAction() throws Exception {
- //TODO
+ // TODO mfortun-2011-08-17 need to use copyDepencies Mojo to find
+ // the wikittyPublication war
+ File webApp = null;
+
+ //CopyDependenciesMojo
+ String build = project.getBuild().getDirectory();
+ createDirectoryIfNecessary(new File(build));
+
+ File propsFile = new File(build + File.separator
+ + FALLBACK_PROPERTIE_FILE_NAME);
+ if (propsFile.exists()) {
+ deleteFile(propsFile);
+ }
+ createNewFile(propsFile);
+ // construct propertie for fallback service
+ String fileSystemUrlService = getProject().getBasedir().toURI().toURL()
+ .toExternalForm();
+ fileSystemUrlService += WikittyPublicationConstant.LABEL_DELIM
+ + SRC_DIR_NAME + WikittyFileUtil.WIKITTY_LABEL_SEPARATOR
+ + MAIN_DIR_NAME;
+
+
+ PropertiesExtended propsFSServiceFall = new PropertiesExtended(
+ propsFile);
+
+ propsFSServiceFall.put(
+ WikittyConfigOption.WIKITTY_WIKITTYSERVICE_COMPONENTS.getKey(),
+ WikittyPublicationFileSystem.class.getName());
+ propsFSServiceFall.put(WikittyConfigOption.WIKITTY_SERVER_URL.getKey(),
+ fileSystemUrlService);
+ propsFSServiceFall.store();
+
+ // set the propertie to find our propertieFile
+ //TODO mfortun-2011-08-17 need to put the complete path to the file ?
+ System.setProperty(
+ WikittyPublicationFallbackService.WIKITTY_FALLBACK_FILE_KEY,
+ FALLBACK_PROPERTIE_FILE_NAME);
+
+ JettyUtil jettyRunMojo = new JettyUtil();
+ jettyRunMojo.setWebApp(webApp);
+ jettyRunMojo.execute();
}
}
1
0
r1166 - in trunk: wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin
by mfortun@users.nuiton.org 17 Aug '11
by mfortun@users.nuiton.org 17 Aug '11
17 Aug '11
Author: mfortun
Date: 2011-08-17 14:39:27 +0200 (Wed, 17 Aug 2011)
New Revision: 1166
Url: http://nuiton.org/repositories/revision/wikitty/1166
Log:
*add method to reuse Externalize in maven plug in
*plug in goal: jar
*goal update
Modified:
trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/WikittyPublicationExternalize.java
trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPJarMojo.java
trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPUpdateMojo.java
Modified: trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/WikittyPublicationExternalize.java
===================================================================
--- trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/WikittyPublicationExternalize.java 2011-08-17 10:28:39 UTC (rev 1165)
+++ trunk/wikitty-publication/src/main/java/org/nuiton/wikitty/publication/externalize/WikittyPublicationExternalize.java 2011-08-17 12:39:27 UTC (rev 1166)
@@ -93,15 +93,33 @@
externalize(conf, findAllCrit);
}
+
+
+ static public void externalize(ApplicationConfig conf, Criteria crit)
+ throws ArgumentsParserException, IOException {
+
+
+ File currentFile = new File(".");
+ currentFile = new File(currentFile.getAbsolutePath()).getParentFile();
+ externalize(conf, crit, currentFile);
+
+ }
+
+ static public void externalize(ApplicationConfig conf, Criteria crit, File targetDir)
+ throws ArgumentsParserException, IOException {
+
+ String jarName = DEFAULT_JAR_NAME;
+
+ externalize(conf, crit, targetDir, jarName);
+ }
+
- static public void externalize(ApplicationConfig conf, Criteria crit)
+ static public void externalize(ApplicationConfig conf, Criteria crit, File TargetDir, String jarName)
throws ArgumentsParserException, IOException {
CodeDecorator decorator = new CodeDecorator();
MimeTypePubHelper mimeHelper = new MimeTypePubHelper();
-
- File currentFile = new File(".");
- currentFile = new File(currentFile.getAbsolutePath()).getParentFile();
+
WikittyProxy proxy = new WikittyProxy(
WikittyServiceFactory.buildWikittyService(conf));
@@ -109,7 +127,7 @@
PagedResult<Wikitty> allWikittyOnFS = proxy.findAllByCriteria(crit);
// make tempfile
- File tempDirectory = new File(currentFile + File.separator
+ File tempDirectory = new File(TargetDir + File.separator
+ TEMPORARY_FILE_NAME);
tempDirectory.mkdir();
@@ -227,7 +245,7 @@
idProperties.store();
// construct jar
- File jarFile = new File(currentFile + File.separator + DEFAULT_JAR_NAME
+ File jarFile = new File(TargetDir + File.separator + jarName
+ ".jar");
JarUtil.compressFiles(jarFile, tempDirectory);
Modified: trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPJarMojo.java
===================================================================
--- trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPJarMojo.java 2011-08-17 10:28:39 UTC (rev 1165)
+++ trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPJarMojo.java 2011-08-17 12:39:27 UTC (rev 1166)
@@ -24,9 +24,19 @@
*/
package org.nuiton.wikitty.plugin;
+import org.nuiton.util.ApplicationConfig;
+import org.nuiton.wikitty.WikittyConfigOption;
+import org.nuiton.wikitty.publication.WikittyFileUtil;
+import org.nuiton.wikitty.publication.WikittyPublicationConstant;
+import org.nuiton.wikitty.publication.externalize.WikittyPublicationExternalize;
+import org.nuiton.wikitty.publication.synchro.WikittyPublicationFileSystem;
+import org.nuiton.wikitty.publication.synchro.WikittyPublicationSynchronize;
+import org.nuiton.wikitty.search.Criteria;
+import org.nuiton.wikitty.search.Search;
+
/**
* To create a wikitty publication jar.
- *
+ *
* @author tchemit <chemit(a)codelutin.com>
* @version $Id$
* @goal jar
@@ -39,16 +49,45 @@
@Override
protected void init() throws Exception {
- //TODO
+ // TODO
}
@Override
protected void doAction() throws Exception {
- // externalise
- //TODO
-
-
+ // to made a well formed jar we need to synchronise first
+ // with this we will obtain the same directory/label configuration
+ // that we will have on a classic service
+ String origin = getProject().getBasedir().toURI().toURL()
+ .toExternalForm();
+ String target = origin;
+
+ origin += WikittyPublicationConstant.LABEL_DELIM + SRC_DIR_NAME
+ + WikittyFileUtil.WIKITTY_LABEL_SEPARATOR + MAIN_DIR_NAME;
+
+ target += getProject().getBuild().getDirectory()
+ + WikittyPublicationConstant.LABEL_DELIM + applicationName;
+
+ WikittyPublicationSynchronize.synchronisationServices(origin, target,
+ true, false, false);
+
+ // then externalize the target
+
+ ApplicationConfig appconfig = new ApplicationConfig();
+
+ appconfig.setOption(
+ WikittyConfigOption.WIKITTY_WIKITTYSERVICE_COMPONENTS.getKey(),
+ WikittyPublicationFileSystem.class.getName());
+
+ appconfig.setOption(WikittyConfigOption.WIKITTY_SERVER_URL.getKey(),
+ target);
+
+ Criteria critOnWikittyWithLabel = Search.query().keyword("*")
+ .criteria();
+
+ WikittyPublicationExternalize.externalize(appconfig,
+ critOnWikittyWithLabel);
+
}
}
Modified: trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPUpdateMojo.java
===================================================================
--- trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPUpdateMojo.java 2011-08-17 10:28:39 UTC (rev 1165)
+++ trunk/wp-maven-plugin/src/main/java/org/nuiton/wikitty/plugin/WPUpdateMojo.java 2011-08-17 12:39:27 UTC (rev 1166)
@@ -24,6 +24,10 @@
*/
package org.nuiton.wikitty.plugin;
+import org.nuiton.wikitty.publication.WikittyFileUtil;
+import org.nuiton.wikitty.publication.WikittyPublicationConstant;
+import org.nuiton.wikitty.publication.synchro.WikittyPublicationSynchronize;
+
/**
* To update a wikitty publication project.
*
@@ -44,8 +48,17 @@
@Override
protected void doAction() throws Exception {
+ // same as deploy
+ // Use syncrhonise.
+ String origin = getProject().getBasedir().toURI().toURL()
+ .toExternalForm();
+ origin += WikittyPublicationConstant.LABEL_DELIM + SRC_DIR_NAME
+ + WikittyFileUtil.WIKITTY_LABEL_SEPARATOR + MAIN_DIR_NAME;
+ String target = wikittyServiceUrl;
+ target += WikittyPublicationConstant.LABEL_DELIM + applicationName;
- //TODO
+ WikittyPublicationSynchronize.synchronisationServices(origin, target,
+ true, false, false);
}
}
1
0