source: osm/applications/editors/josm/plugins/mapillary/build.gradle@ 32658

Last change on this file since 32658 was 32652, checked in by floscher, 9 years ago

Rename download modes

The labels facing the user (combobox in the settings) are now internationalized, the preference setting is not.
This change is backwards-compatible, because on each start of JOSM the plugin converts the old names of the download modes with the corresponding new one. This feature will sooner or later be removed again, but as long as every user starts JOSM at least once until then, the setting won't be affected by this change.

In some places the old names are still mentioned (e.g. comments and names of variables or methods), but the relevant occurences are now updated.

File size: 5.1 KB
Line 
1apply plugin: 'eclipse'
2apply plugin: 'findbugs'
3apply plugin: 'idea'
4apply plugin: 'jacoco'
5apply plugin: 'java'
6apply plugin: 'pmd'
7
8sourceCompatibility = '1.7'
9
10repositories {
11 // for JUnit
12 mavenCentral()
13 //for josm-(latest|tested).jar
14 ivy {
15 url 'https://josm.openstreetmap.de/download'
16 layout 'pattern', {
17 artifact "[artifact]-[revision].jar"
18 artifact "[artifact]-snapshot-[revision].jar"
19 artifact "Archiv/[artifact]-snapshot-[revision].jar"
20 }
21 }
22 //for josm-plugins
23 ivy {
24 url "https://svn.openstreetmap.org/applications/editors/josm/dist/"
25 layout "pattern", {
26 artifact "[artifact].jar"
27 }
28 }
29}
30
31dependencies {
32 // The JOSM-version can be specified as "latest", "tested" or the numeric version number.
33 // When using a numeric version number you can leave out {changing=true}.
34 compile(':josm:10485')
35 // For plugins it's irrelevant, which version is specified, always the latest version is used.
36 compile (name: 'apache-commons'){changing=true}
37 compile (name: 'apache-http'){changing=true}
38
39 testCompile 'junit:junit:4.12'
40}
41
42sourceSets {
43 main {
44 java {
45 srcDirs = ['src']
46 }
47 resources {
48 srcDirs = ["$projectDir"]
49 include 'data/**'
50 include 'images/**'
51 include 'README'
52 include 'LICENSE*'
53 }
54 }
55 test {
56 java {
57 srcDirs = ['test/unit']
58 }
59 resources{
60 srcDirs = ['test/data']
61 }
62 }
63}
64
65eclipse {
66 project {
67 name = 'JOSM-Mapillary'
68 comment = property('plugin.description')
69 natures 'org.sonarlint.eclipse.core.sonarlintNature', 'ch.acanda.eclipse.pmd.builder.PMDNature', 'org.eclipse.buildship.core.gradleprojectnature'
70 buildCommand 'org.sonarlint.eclipse.core.sonarlintBuilder'
71 buildCommand 'ch.acanda.eclipse.pmd.builder.PMDBuilder'
72 buildCommand 'org.eclipse.buildship.core.gradleprojectbuilder'
73 }
74}
75eclipseClasspath.dependsOn cleanEclipseClasspath
76eclipseProject.dependsOn cleanEclipseProject
77tasks.eclipse.dependsOn = ['eclipseClasspath', 'eclipseProject']
78
79pmd {
80 toolVersion project.property('tools.pmd.version')
81 ignoreFailures true
82 targetJdk 1.7 // 1.8 is not yet available (as of Gradle 2.14, see https://docs.gradle.org/current/javadoc/org/gradle/api/plugins/quality/TargetJdk.html)
83 ruleSetConfig = resources.text.fromFile('.settings/pmd-ruleset.xml')
84}
85
86build.dependsOn jacocoTestReport
87
88tasks.withType(Javadoc) {
89 failOnError false
90}
91
92/** FindBugs configuration */
93findbugs {
94 toolVersion = project.property('tools.findbugs.version')
95 ignoreFailures = true
96 effort = "max"
97 reportLevel = "low"
98}
99tasks.withType(FindBugs) {
100 reports {
101 xml.enabled = false
102 html.enabled = true
103 }
104}
105
106/** JaCoCo configuration */
107jacoco {
108 toolVersion = project.property('tools.jacoco.version')
109}
110jacocoTestReport {
111 reports {
112 xml.enabled true
113 html.destination "$buildDir/reports/jacoco"
114 }
115}
116
117test {
118 testLogging {
119 exceptionFormat "full"
120 events "started", "passed", "skipped", "failed", "standardOut", "standardError"
121 }
122}
123
124jar {
125 manifest {
126 attributes(
127 "Gradle-Version": project.getGradle().getGradleVersion(),
128 "Created-By": System.getProperty("java.version")+" ("+System.getProperty("java.vendor")+")",
129 "Plugin-Mainversion": project.property('plugin.main.version'),
130 "Plugin-Version": project.property('plugin.svnrevision'),
131 "Plugin-SemVersion": project.property('plugin.version'),
132 "Plugin-Class": project.property('plugin.class'),
133 "Plugin-Description": project.property('plugin.description'),
134 "Plugin-Date": String.format("%1\$tY-%1\$tm-%1\$tdT%1\$tH:%1\$tM:%1\$tS%1\$tz", new GregorianCalendar()),
135 "Author": project.property('plugin.author'),
136 "Plugin-Link": project.property('plugin.link'),
137 "Plugin-Icon": project.property("plugin.icon"),
138 "Plugin-Requires": project.property("plugin.requires"),
139 "Plugin-Canloadatruntime": project.property('plugin.canloadatruntime')
140 )
141 }
142}
143
144task activatePlugin(type: Copy) {
145 if (!new File("$buildDir/.josm/preferences.xml").exists()) {
146 from "gradle/josm-preferences.xml"
147 into "$buildDir/.josm"
148 rename 'josm-preferences.xml', 'preferences.xml'
149 }
150}
151
152task installPlugin(type: Copy) {
153 from "$buildDir/libs/${project.name}.jar"
154 from configurations.runtime
155 into "$buildDir/.josm/plugins"
156 include 'apache*.jar'
157 include "${project.name}.jar"
158 rename "${project.name}.jar", 'Mapillary.jar'
159 rename 'apache-(.*)-.*.jar', 'apache-$1.jar'
160}
161installPlugin.dependsOn jar
162installPlugin.dependsOn activatePlugin
163
164/**
165 * This runs the JOSM-version specified in the dependency configuration above.
166 * The home-directory of this JOSM is located in $buildDir/.josm, so it doesn't interfere with any other JOSM-installations.
167 */
168task runJosm(type: JavaExec) {
169 classpath = sourceSets.main.runtimeClasspath
170 main = 'JOSM'
171 args '--offline=josm_website'
172 jvmArgs "-Djosm.home=$buildDir/.josm"
173}
174runJosm.dependsOn installPlugin
175
176
177task debugJosm(type: JavaExec) {
178 classpath = sourceSets.main.runtimeClasspath
179 main = 'JOSM'
180 args '--offline=josm_website'
181 jvmArgs "-Xdebug", "-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5006", "-Djosm.home=$buildDir/.josm"
182}
183debugJosm.dependsOn installPlugin
Note: See TracBrowser for help on using the repository browser.