-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbuild.gradle
107 lines (86 loc) · 3.71 KB
/
build.gradle
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
/* ============================================================================
* Build file for project 'kubegen'
* ============================================================================
* This file was initial generated by EGradle
* using 'Basic single gradle project (Java)' template
*
* This is a very basic template suitable for gradle beginners and is nearly the
* same as done by Gradle 'init' task. This generated file contains a sample
* Java project to get you started. In addition it will setup all necessary
* eclipse parts also, so an out of the box import is possible.
*
* For more details about the java parts take a look at the Java Quickstart
* chapter in the Gradle user guide available at
* https://docs.gradle.org/current/userguide/tutorial_java_projects.html
* ============================================================================
*/
// Apply the java plugin to add support for Java
plugins {
id 'distribution'
}
apply plugin: 'java'
// In this section you declare where to find the dependencies of your project
repositories {
// Use 'mavenCentral' for resolving your dependencies.
// You can declare any Maven/Ivy/file repository here.
mavenCentral()
}
// In this section you declare the dependencies for your production and test code
dependencies {
// The production code uses the SLF4J logging API at compile time
compile 'org.slf4j:slf4j-api:1.7.25'
compile 'org.slf4j:slf4j-simple:1.7.25'
// Declare the dependency for your favourite test framework you want to use in your tests.
// TestNG is also supported by the Gradle Test task. Just change the
// testCompile dependency to testCompile 'org.testng:testng:6.8.1' and add
// 'test.useTestNG()' to your build script.
testCompile 'junit:junit:4.12'
testCompile group: 'org.mockito', name: 'mockito-all', version: '1.8.4'
// https://mvnrepository.com/artifact/com.beust/jcommander
compile group: 'com.beust', name: 'jcommander', version: '1.72'
}
/* ----------------------------------------------------------------------------
*
* Additional parts from EGradle template for comfortable eclipse setup
* (necessary, because every EGradle template MUST be importable out of the box)
*
* ---------------------------------------------------------------------------- */
// Apply the eclipse plugin to add support for Eclipse
apply plugin: 'eclipse'
// To have javadocs in eclipse added - where no sources are available - we need these lines:
// see https://docs.gradle.org/current/dsl/org.gradle.plugins.ide.eclipse.model.EclipseClasspath.html
eclipse {
classpath {
downloadSources = true // default: true
downloadJavadoc = true // default: false
}
}
// first define an array containing source folders to be always available - even when not existing already
def eclipseSourceFolders=[
'src/main/java',
'src/main/resources',
'src/test/java',
'src/test/resources'
];
// now create those source folders when not existing, when eclipse task is executed:
tasks.eclipse.dependsOn << {
for (String sourceFolder: eclipseSourceFolders){
def resourceDir = new File(project.projectDir, sourceFolder)
if( !resourceDir.exists() && ! resourceDir.mkdirs() ) {
logger.info("Not able to create %1",resourceDir);
}
}
}
task make(type: Jar) {
group 'KubeGen'
description 'This creates a fat jar, containing all libraries. Version of kubegen is not in filename but inside manifest.'
manifest {
attributes 'Main-Class': 'de.jcup.kubegen.Main'
}
baseName = 'kubegen-all'
from("$projectDir/LICENSE")
from("$projectDir/3RD_PARTY_LICENSES.txt")
from {
configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }}
with jar
}