From 50f2e98f8d6e7beb578eee80d388b4073a1bde6b Mon Sep 17 00:00:00 2001 From: Sofiane BALOUL Date: Mon, 24 Mar 2014 08:53:26 +0100 Subject: [PATCH] XCOMMONS-553 : Releasing fails on windows os Signed-off-by: Sofiane BALOUL --- pom.xml | 10 ++-- .../java/org/xwiki/tool/enforcer/JavadocCheck.java | 53 ++++++++++++++++++++++ 2 files changed, 59 insertions(+), 4 deletions(-) create mode 100644 xwiki-commons-tools/xwiki-commons-tool-enforcers/xwiki-commons-tool-enforcer-dependencies/src/main/java/org/xwiki/tool/enforcer/JavadocCheck.java diff --git a/pom.xml b/pom.xml index 4568607..abb158e 100644 --- a/pom.xml +++ b/pom.xml @@ -1045,6 +1045,11 @@ org.apache.maven.plugins maven-enforcer-plugin + + + xwiki-commons-tool-enforcer-dependencies + + enforce-java @@ -1074,10 +1079,7 @@ - - ("${project.packaging}" != "jar") || ("${project.packaging}" == "jar" && new java.io.File("${project.build.directory}/${project.build.finalName}-javadoc.jar").exists()) - Missing Javadoc JAR - + true diff --git a/xwiki-commons-tools/xwiki-commons-tool-enforcers/xwiki-commons-tool-enforcer-dependencies/src/main/java/org/xwiki/tool/enforcer/JavadocCheck.java b/xwiki-commons-tools/xwiki-commons-tool-enforcers/xwiki-commons-tool-enforcer-dependencies/src/main/java/org/xwiki/tool/enforcer/JavadocCheck.java new file mode 100644 index 0000000..47977b2 --- /dev/null +++ b/xwiki-commons-tools/xwiki-commons-tool-enforcers/xwiki-commons-tool-enforcer-dependencies/src/main/java/org/xwiki/tool/enforcer/JavadocCheck.java @@ -0,0 +1,53 @@ +package org.xwiki.tool.enforcer; + +import java.io.File; + +import org.apache.maven.enforcer.rule.api.EnforcerRule; +import org.apache.maven.enforcer.rule.api.EnforcerRuleException; +import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper; +import org.apache.maven.project.MavenProject; +import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException; + +/** + * This enforcer checks if the javadoc.jar file exists for project with jar packaging. + * + * @version $Id$ + * @since 6.0 + */ + +public class JavadocCheck implements EnforcerRule { + + public void execute(EnforcerRuleHelper helper) throws EnforcerRuleException { + MavenProject project = getMavenProject(helper); + + if ("jar".equals(project.getPackaging()) + && !new File(project.getBuild().getDirectory() + File.separator + + project.getBuild().getFinalName() + "-javadoc.jar").exists()) { + throw new EnforcerRuleException("Missing Javadoc JAR"); + } + + } + + private MavenProject getMavenProject(EnforcerRuleHelper helper) + throws EnforcerRuleException { + try { + return (MavenProject) helper.evaluate("${project}"); + } catch (ExpressionEvaluationException e) { + throw new EnforcerRuleException("Failed to get maven project", e); + } + + } + + public String getCacheId() { + return ""; + } + + public boolean isCacheable() { + return false; + } + + public boolean isResultValid(EnforcerRule arg0) { + return false; + } + +} -- 1.8.1.msysgit.1