From 3f6120b09cd8e4964508e71270e31297f3c670ed Mon Sep 17 00:00:00 2001 From: Chunyan Song Date: Thu, 7 Mar 2013 08:44:47 -0800 Subject: [PATCH] Enforce explicit include to extract Thrift files from dependencies Compile thrift files from dependency jars ONLY when it's explicitly included in the element RB_ID=129964 --- scrooge-maven-plugin/demo/pom.xml | 31 +++++++------------ .../com/twitter/AbstractMavenScroogeMojo.java | 6 ++-- 2 files changed, 13 insertions(+), 24 deletions(-) diff --git a/scrooge-maven-plugin/demo/pom.xml b/scrooge-maven-plugin/demo/pom.xml index 2ea703546..ea1abca64 100644 --- a/scrooge-maven-plugin/demo/pom.xml +++ b/scrooge-maven-plugin/demo/pom.xml @@ -10,27 +10,19 @@ ${project.basedir}/../../../.git - - + - com.twitter - bar - 1.0.1 - compile + event-logger-thrift + 0.0.3 - --> @@ -165,11 +157,10 @@ --ostrich -v - - bar + event-logger-thrift - --> diff --git a/scrooge-maven-plugin/src/main/java/com/twitter/AbstractMavenScroogeMojo.java b/scrooge-maven-plugin/src/main/java/com/twitter/AbstractMavenScroogeMojo.java index eded5cb56..ad2d0a228 100644 --- a/scrooge-maven-plugin/src/main/java/com/twitter/AbstractMavenScroogeMojo.java +++ b/scrooge-maven-plugin/src/main/java/com/twitter/AbstractMavenScroogeMojo.java @@ -257,10 +257,8 @@ private Set findThriftFiles() throws IOException { private Set findThriftDependencies(Set whitelist) throws IOException { Set thriftDependencies = new HashSet(); for(Artifact artifact : (Collection)project.getArtifacts()) { - String classifier = artifact.getClassifier(); String artifactId = artifact.getArtifactId(); - if (classifier != null && classifier.equals("idl") - || whitelist.contains(artifactId)) { + if (whitelist.contains(artifactId)) { thriftDependencies.add(artifact.getFile()); } } @@ -325,7 +323,7 @@ protected List getRecursiveThriftFiles(MavenProject project, String output * Walk project references recursively, adding thrift files to the provided list. */ List getRecursiveThriftFiles(MavenProject project, String outputDirectory, List files) throws IOException { - if (!dependencyConfig.contains(project.getArtifactId())) { + if (dependencyConfig.contains(project.getArtifactId())) { File dir = new File(new File(project.getFile().getParent(), "target"), outputDirectory); if (dir.exists()) { try {