Skip to content

Commit 39f5f74

Browse files
committed
updated iwant to 610 revision
user-preferences created changed groovy dependency behaviour added findbugs report for iwant build stuff
1 parent 75572fd commit 39f5f74

File tree

5 files changed

+87
-14
lines changed

5 files changed

+87
-14
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
iwant-from=https://svn.code.sf.net/p/iwant/code/trunk@566
1+
iwant-from=https://svn.code.sf.net/p/iwant/code/trunk@610
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
workerCount=4

as-chalkbox-developer/i-have/wsdef/src/main/java/net/sf/chalkbox/wsdef/ChalkboxWorkspace.java

Lines changed: 72 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import java.util.Arrays;
44
import java.util.List;
5+
import java.util.Set;
56
import java.util.SortedSet;
67
import java.util.TreeSet;
78

@@ -13,19 +14,81 @@
1314
import net.sf.iwant.api.javamodules.CodeStyle;
1415
import net.sf.iwant.api.javamodules.CodeStylePolicy;
1516
import net.sf.iwant.api.javamodules.JavaBinModule;
17+
import net.sf.iwant.api.javamodules.JavaClassesAndSources;
1618
import net.sf.iwant.api.javamodules.JavaModule;
1719
import net.sf.iwant.api.javamodules.JavaSrcModule;
1820
import net.sf.iwant.api.javamodules.JavaSrcModule.IwantSrcModuleSpex;
21+
import net.sf.iwant.api.model.Path;
1922
import net.sf.iwant.api.model.SideEffect;
2023
import net.sf.iwant.api.model.Source;
2124
import net.sf.iwant.api.model.StringFilter;
2225
import net.sf.iwant.api.model.Target;
26+
import net.sf.iwant.plugin.findbugs.FindbugsDistribution;
27+
import net.sf.iwant.plugin.findbugs.FindbugsOutputFormat;
28+
import net.sf.iwant.plugin.findbugs.FindbugsReport;
29+
import net.sf.iwant.plugin.findbugs.FindbugsReport.FindbugsReportSpex;
2330

2431
public class ChalkboxWorkspace implements IwantWorkspace {
2532

2633
@Override
2734
public List<? extends Target> targets() {
28-
return Arrays.asList(emmaCoverage(), backlogTxt());
35+
return Arrays.asList(emmaCoverage(), backlogTxt(), findbugsReport());
36+
}
37+
38+
private static Target findbugsReport() {
39+
return findbugsReportFor("findbugs-report", FindbugsOutputFormat.HTML);
40+
}
41+
42+
private static Target findbugsReportFor(String name,
43+
FindbugsOutputFormat outputFormat) {
44+
FindbugsDistribution findbugs = FindbugsDistribution.ofVersion("2.0.2");
45+
FindbugsReportSpex report = FindbugsReport.with().name(name)
46+
.using(findbugs, ant(), antLauncher())
47+
.outputFormat(outputFormat);
48+
49+
FindbugsReportHelper.reportWithModules(report, allSrcModules());
50+
return report.end();
51+
}
52+
53+
private static Path ant() {
54+
return TestedIwantDependencies.antJar();
55+
}
56+
57+
private static Path antLauncher() {
58+
return TestedIwantDependencies.antLauncherJar();
59+
}
60+
61+
private static class FindbugsReportHelper {
62+
63+
public static FindbugsReportSpex reportWithModules(
64+
FindbugsReportSpex report,
65+
SortedSet<? extends JavaModule> modules) {
66+
for (JavaModule module : modules) {
67+
reportWithModule(report, module);
68+
}
69+
return report;
70+
}
71+
72+
private static void reportWithModule(FindbugsReportSpex report,
73+
JavaModule module) {
74+
Set<JavaModule> allDeps = module.effectivePathForTestRuntime();
75+
for (JavaModule dep : allDeps) {
76+
if (!(dep instanceof JavaSrcModule)) {
77+
report.auxClasses(dep.mainArtifact());
78+
continue;
79+
}
80+
JavaSrcModule srcDep = (JavaSrcModule) dep;
81+
if (srcDep.mainArtifact() != null) {
82+
report.classesToAnalyze(new JavaClassesAndSources(srcDep
83+
.mainArtifact(), srcDep.mainJavasAsPaths()));
84+
}
85+
if (srcDep.testArtifact() != null) {
86+
report.classesToAnalyze(new JavaClassesAndSources(srcDep
87+
.testArtifact(), srcDep.testJavasAsPaths()));
88+
}
89+
}
90+
}
91+
2992
}
3093

3194
@Override
@@ -59,16 +122,17 @@ private static Target backlogTxt() {
59122
}
60123

61124
private static Target emmaCoverage() {
62-
return emmaTarget(allSrcModules());
125+
return emmaTarget(allSrcModules(), "coverage-report");
63126
}
64127

65-
private static Target emmaTarget(final SortedSet<JavaSrcModule> modules) {
128+
private static Target emmaTarget(final SortedSet<JavaSrcModule> modules,
129+
String name) {
66130
final EmmaTargetsOfJavaModules emmaTargets = EmmaTargetsOfJavaModules
67131
.with()
68132
.antJars(TestedIwantDependencies.antJar(),
69133
TestedIwantDependencies.antLauncherJar())
70134
.emma(TestedIwantDependencies.emma()).modules(modules).end();
71-
return emmaTargets.emmaReport();
135+
return emmaTargets.emmaReport(name);
72136
}
73137

74138
private static SortedSet<JavaSrcModule> allSrcModules() {
@@ -101,13 +165,14 @@ private static JavaModule junitAsProviding() {
101165
return JavaBinModule
102166
.providing(
103167
Source.underWsroot("junit-4.10/lib/junit-4.10.jar"),
104-
Source.underWsroot("junit-4.10/lib-sources/junit-4.10-src.jar"));
168+
Source.underWsroot("junit-4.10/lib-sources/junit-4.10-src.jar"))
169+
.end();
105170
}
106171

107172
private static JavaModule junit() {
108173
return JavaBinModule.named("lib/junit-4.10.jar")
109174
.source("lib-sources/junit-4.10-src.jar")
110-
.inside(JavaSrcModule.with().name("junit-4.10").end());
175+
.inside(JavaSrcModule.with().name("junit-4.10").end()).end();
111176
}
112177

113178
private static JavaSrcModule example() {
@@ -125,6 +190,6 @@ private static JavaSrcModule backlog() {
125190
private static JavaModule myBacklog() {
126191
return JavaBinModule.named("lib/my-backlog-1.0.2.jar")
127192
.source("lib-sources/my-backlog-1.0.2-sources.jar")
128-
.inside(JavaSrcModule.with().name("backlog").end());
193+
.inside(JavaSrcModule.with().name("backlog").end()).end();
129194
}
130195
}

as-chalkbox-developer/i-have/wsdefdef/src/main/java/net/sf/chalkbox/wsdefdef/ChalkboxWorkspaceProvider.java

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package net.sf.chalkbox.wsdefdef;
22

3+
import java.util.Set;
4+
import java.util.TreeSet;
5+
36
import net.sf.iwant.api.FromRepository;
47
import net.sf.iwant.api.IwantWorkspaceProvider;
58
import net.sf.iwant.api.WorkspaceDefinitionContext;
@@ -10,16 +13,20 @@
1013
public class ChalkboxWorkspaceProvider implements IwantWorkspaceProvider {
1114

1215
@Override
13-
public JavaSrcModule workspaceModule(WorkspaceDefinitionContext ctx) {
16+
public JavaSrcModule workspaceModule(final WorkspaceDefinitionContext ctx) {
17+
final Set<JavaModule> iwantModules = new TreeSet<JavaModule>();
18+
iwantModules.addAll(ctx.iwantApiModules());
19+
iwantModules.addAll(ctx.iwantPlugin().findbugs().withDependencies());
1420
return JavaSrcModule.with().name("chalkbox-workspace")
1521
.locationUnderWsRoot("as-chalkbox-developer/i-have/wsdef")
16-
.mainJava("src/main/java").mainDeps(ctx.iwantApiModules())
22+
.mainJava("src/main/java").mainDeps(iwantModules)
1723
.mainDeps(backlog(), myBacklog(), commonsIo()).end();
1824
}
1925

2026
private static JavaModule commonsIo() {
21-
return JavaBinModule.providing(FromRepository.ibiblio()
22-
.group("commons-io").name("commons-io").version("1.4"));
27+
return JavaBinModule.providing(
28+
FromRepository.ibiblio().group("commons-io").name("commons-io")
29+
.version("1.4")).end();
2330
}
2431

2532
@Override
@@ -35,7 +42,7 @@ private static JavaSrcModule backlog() {
3542
private static JavaModule myBacklog() {
3643
return JavaBinModule.named("lib/my-backlog-1.0.2.jar")
3744
.source("lib-sources/my-backlog-1.0.2-sources.jar")
38-
.inside(JavaSrcModule.with().name("backlog").end());
45+
.inside(JavaSrcModule.with().name("backlog").end()).end();
3946
}
4047

4148
}

buildSrc/plugins/gradlePlugins.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ apply plugin: 'eclipse'
1515

1616
dependencies {
1717
compile gradleApi()
18-
groovy localGroovy()
18+
compile localGroovy()
1919
}
2020

2121
eclipse {

0 commit comments

Comments
 (0)