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@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); } }