[fant commit] r92 - in trunk: samples/project/m1 samples/project/m2 samples/project/m2/n1 src/main/java/com/goo...

2 views
Skip to first unread message

codesite...@google.com

unread,
Jun 22, 2008, 11:36:51 PM6/22/08
to fant...@googlegroups.com
Author: maomaode
Date: Sun Jun 22 20:35:50 2008
New Revision: 92

Added:
trunk/src/main/java/com/google/ant/extensions/types/DependencyHelper.java
Modified:
trunk/samples/project/m1/ (props changed)
trunk/samples/project/m2/ (props changed)
trunk/samples/project/m2/n1/ (props changed)
trunk/src/main/java/com/google/ant/extensions/tasks/FetchTask.java
trunk/src/main/java/com/google/ant/extensions/tasks/JdeeTask.java
trunk/src/main/java/com/google/ant/extensions/types/DependencyManager.java

Log:
* Jdee get all of the dependencies,
also include the junit.jar

--____________--

_M samples/project/m1
_M samples/project/m2
_M samples/project/m2/n1
M src/main/java/com/google/ant/extensions/types/DependencyManager.java
A src/main/java/com/google/ant/extensions/types/DependencyHelper.java
M src/main/java/com/google/ant/extensions/tasks/JdeeTask.java
M src/main/java/com/google/ant/extensions/tasks/FetchTask.java


Modified: trunk/src/main/java/com/google/ant/extensions/tasks/FetchTask.java
==============================================================================
--- trunk/src/main/java/com/google/ant/extensions/tasks/FetchTask.java (original)
+++ trunk/src/main/java/com/google/ant/extensions/tasks/FetchTask.java
Sun Jun 22 20:35:50 2008
@@ -16,7 +16,7 @@

import com.google.ant.extensions.types.Dependencies;
import com.google.ant.extensions.types.Dependency;
-import com.google.ant.extensions.types.DependencyManager;
+import com.google.ant.extensions.types.DependencyHelper;
import com.google.ant.extensions.types.Mirror;
import com.google.ant.extensions.types.Repository;
import org.apache.tools.ant.BuildException;
@@ -70,56 +70,6 @@
}
}

- private void versionConflict(Dependency target, StringBuffer
buffer) {
- for (Dependency d : this.dependencies) {
- if (target.isSameArtifact(d) && !target.isSameVersion(d)) {
- buffer.append(" |_ ");
- buffer.append(target.toString());
- buffer.append(" -- ");
- buffer.append(d.toString());
- buffer.append("\n");
- }
- }
- }
-
- private void checkDuplicateAndConflicts(Dependency dependency,
Collection<Dependency> ds) {
- StringBuffer duplicates = new StringBuffer();
- StringBuffer conflicts = new StringBuffer();
-
- for (Dependency d : ds) {
- if (this.dependencies.contains(d)) {
- duplicates.append(" |_ ");
- duplicates.append(d.toString());
- duplicates.append("\n");
- }
- versionConflict(d, conflicts);
- }
-
- if (duplicates.length() > 0) {
- System.out.println("Found duplicate dependencies
through: " + dependency);
- System.out.println(duplicates.toString());
- }
-
- if (conflicts.length() > 0) {
- System.out.println("Found conflict dependencies through: "
+ dependency);
- System.out.println(conflicts);
- }
- }
-
- private Collection<Dependency> getAllDependencies() {
- DependencyManager depMan = new DependencyManager(getProject());
-
- Set<Dependency> results = new HashSet<Dependency>();
- results.addAll(this.dependencies);
-
- for (Dependency dependency : this.dependencies) {
- Collection<Dependency> d = depMan.getDependencies(dependency);
- checkDuplicateAndConflicts(dependency, d);
- results.addAll(d);
- }
- return results;
- }
-
public void execute() {
if (dependencies == null) {
throw new BuildException("No dependencies defined");
@@ -131,7 +81,8 @@

Collection<File> toRemove = new ArrayList<File>();

- Collection<Dependency> allDependencies = this.chained ?
getAllDependencies() : this.dependencies;
+ Collection<Dependency> allDependencies = this.chained
+ ? new DependencyHelper(getProject(),
this.dependencies).getAllDependencies() : this.dependencies;

for (Dependency dependency : allDependencies) {
File prjArtifact = loadFromProjectLib(dependency);

Modified: trunk/src/main/java/com/google/ant/extensions/tasks/JdeeTask.java
==============================================================================
--- trunk/src/main/java/com/google/ant/extensions/tasks/JdeeTask.java (original)
+++ trunk/src/main/java/com/google/ant/extensions/tasks/JdeeTask.java
Sun Jun 22 20:35:50 2008
@@ -8,6 +8,7 @@
import com.google.ant.extensions.SourceRepo;
import com.google.ant.extensions.types.Dependencies;
import com.google.ant.extensions.types.Dependency;
+import com.google.ant.extensions.types.DependencyHelper;
import com.google.ant.extensions.types.Module;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.taskdefs.Copy;
@@ -107,8 +108,10 @@

protected List<String> getGlobalClasspath() {
List<String> results = new ArrayList<String>();
- for (Dependency dep : dependencies) {
- results.add(emitPath(basedir.toString(), dep.getArtifact()));
+ Collection<Dependency> globalDependencies = new DependencyHelper(getProject(),
+
this.dependencies).getAllDependencies();
+ for (Dependency dep : globalDependencies) {
+ results.add(emitPath(basedir.toString(), "lib/" + dep.getArtifact()));
}

for (Module module : getDependentModules()) {
@@ -118,6 +121,10 @@

results.add(emitPath(basedir.toString(), "build/classes"));
results.add(emitPath(basedir.toString(), "build/test-classes"));
+
+ if (getProject() != null) {
+ results.add(emitPath(getProject().getProperty("ant.extensions.dir"), "junit-4.3.1.jar"));
+ }
return results;
}


Added: trunk/src/main/java/com/google/ant/extensions/types/DependencyHelper.java
==============================================================================
--- (empty file)
+++
trunk/src/main/java/com/google/ant/extensions/types/DependencyHelper.java
Sun Jun 22 20:35:50 2008
@@ -0,0 +1,67 @@
+package com.google.ant.extensions.types;
+
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.tools.ant.Project;
+
+public class DependencyHelper {
+ private final Collection<Dependency> dependencies;
+ private final Project project;
+
+ public DependencyHelper(final Project proj, final
Collection<Dependency> deps) {
+ this.dependencies = deps;
+ this.project = proj;
+ }
+
+ private void versionConflict(Dependency target, StringBuffer
buffer) {
+ for (Dependency d : this.dependencies) {
+ if (target.isSameArtifact(d) && !target.isSameVersion(d)) {
+ buffer.append(" |_ ");
+ buffer.append(target.toString());
+ buffer.append(" -- ");
+ buffer.append(d.toString());
+ buffer.append("\n");
+ }
+ }
+ }
+
+ private void checkDuplicateAndConflicts(Dependency dependency,
Collection<Dependency> ds) {
+ StringBuffer duplicates = new StringBuffer();
+ StringBuffer conflicts = new StringBuffer();
+
+ for (Dependency d : ds) {
+ if (this.dependencies.contains(d)) {
+ duplicates.append(" |_ ");
+ duplicates.append(d.toString());
+ duplicates.append("\n");
+ }
+ versionConflict(d, conflicts);
+ }
+
+ if (duplicates.length() > 0) {
+ System.out.println("Found duplicate dependencies
through: " + dependency);
+ System.out.println(duplicates.toString());
+ }
+
+ if (conflicts.length() > 0) {
+ System.out.println("Found conflict dependencies through: "
+ dependency);
+ System.out.println(conflicts);
+ }
+ }
+
+ public Collection<Dependency> getAllDependencies() {
+ DependencyManager depMan = new DependencyManager(this.project);
+
+ Set<Dependency> results = new HashSet<Dependency>();
+ results.addAll(this.dependencies);
+
+ for (Dependency dependency : this.dependencies) {
+ Collection<Dependency> d = depMan.getDependencies(dependency);
+ checkDuplicateAndConflicts(dependency, d);
+ results.addAll(d);
+ }
+ return results;
+ }
+}
\ No newline at end of file

Modified: trunk/src/main/java/com/google/ant/extensions/types/DependencyManager.java
==============================================================================
---
trunk/src/main/java/com/google/ant/extensions/types/DependencyManager.java (original)
+++
trunk/src/main/java/com/google/ant/extensions/types/DependencyManager.java
Sun Jun 22 20:35:50 2008
@@ -49,12 +49,14 @@

public Collection<Dependency> getDependencies(final Module module) {
Project moduleProject = new Project();
- moduleProject.setBasedir(module.getBasedir());
- moduleProject.init();
-
- ProjectHelper.getProjectHelper().configureProject(moduleProject,
- new File(module.getBasedir(),
- module.getBuildfile()));
+ if (new File(module.getBasedir()).exists()) {
+ moduleProject.setBasedir(module.getBasedir());
+ moduleProject.init();
+
+ ProjectHelper.getProjectHelper().configureProject(moduleProject,
+ new File(module.getBasedir(),
+ module.getBuildfile()));
+ }

Dependencies dep = (Dependencies) moduleProject.getReference(Dependency.PRJ_DEP_NAME);
if (dep == null) {

Reply all
Reply to author
Forward
0 new messages