diff --git a/.github/workflows/gradle-wrapper-validation.yml b/.github/workflows/gradle-wrapper-validation.yml new file mode 100644 index 00000000..405a2b30 --- /dev/null +++ b/.github/workflows/gradle-wrapper-validation.yml @@ -0,0 +1,10 @@ +name: "Validate Gradle Wrapper" +on: [push, pull_request] + +jobs: + validation: + name: "Validation" + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: gradle/wrapper-validation-action@v1 diff --git a/.travis.yml b/.travis.yml index f8940f50..9f84e752 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,6 +9,9 @@ env: - TEST_CATEGORY=fullCompileTests - TEST_CATEGORY=runProjectTests - TEST_CATEGORY=proxyTest +before_script: + - echo $JAVA_OPTS + - export JAVA_OPTS=-Xmx4G script: "./gradlew --stacktrace check -PTEST_CATEGORY=$TEST_CATEGORY" branches: only: diff --git a/build.gradle b/build.gradle index cd7c131c..66ad1cdb 100644 --- a/build.gradle +++ b/build.gradle @@ -62,7 +62,7 @@ sourceSets { resources { srcDir file('src/functionalTest/resources') } - compileClasspath += sourceSets.main.output + configurations.testRuntime + compileClasspath += sourceSets.main.output + configurations.testRuntimeClasspath runtimeClasspath += output + compileClasspath } } @@ -129,7 +129,7 @@ idea { * Compiles the tests */ compileFunctionalTestGroovy { - classpath += configurations.proxyTest + classpath += configurations.proxyTest + configurations.testRuntimeClasspath } /** @@ -154,6 +154,7 @@ processResources { ]) } } + duplicatesStrategy = DuplicatesStrategy.INCLUDE } @@ -404,7 +405,7 @@ pluginBundle { * **********************************************************************************************************************/ wrapper { - gradleVersion = '5.6' + gradleVersion = '6.0' distributionUrl = distributionUrl.replace('bin', 'all') // Download sources } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 5c2d1cf0..cc4fdc29 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 8d58bda4..562e2c88 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.6-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.0-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index 83f2acfd..2fe81a7d 100755 --- a/gradlew +++ b/gradlew @@ -154,19 +154,19 @@ if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then else eval `echo args$i`="\"$arg\"" fi - i=$((i+1)) + i=`expr $i + 1` done case $i in - (0) set -- ;; - (1) set -- "$args0" ;; - (2) set -- "$args0" "$args1" ;; - (3) set -- "$args0" "$args1" "$args2" ;; - (4) set -- "$args0" "$args1" "$args2" "$args3" ;; - (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; - (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; - (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; - (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; - (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + 0) set -- ;; + 1) set -- "$args0" ;; + 2) set -- "$args0" "$args1" ;; + 3) set -- "$args0" "$args1" "$args2" ;; + 4) set -- "$args0" "$args1" "$args2" "$args3" ;; + 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; esac fi @@ -175,14 +175,9 @@ save () { for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done echo " " } -APP_ARGS=$(save "$@") +APP_ARGS=`save "$@"` # Collect all arguments for the java command, following the shell quoting and substitution rules eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" -# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong -if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then - cd "$(dirname "$0")" -fi - exec "$JAVACMD" "$@" diff --git a/src/functionalTest/groovy/com/devsoap/plugin/tests/GradleVersionTest.groovy b/src/functionalTest/groovy/com/devsoap/plugin/tests/GradleVersionTest.groovy index b258d67a..5653c6db 100644 --- a/src/functionalTest/groovy/com/devsoap/plugin/tests/GradleVersionTest.groovy +++ b/src/functionalTest/groovy/com/devsoap/plugin/tests/GradleVersionTest.groovy @@ -22,7 +22,7 @@ class GradleVersionTest extends IntegrationTest { @Parameterized.Parameters(name = "Gradle {0}") static Collection getGradleVersions() { - [ '5.6'] + [ '6.0'] } @Override diff --git a/src/functionalTest/groovy/com/devsoap/plugin/tests/KotlinTest.groovy b/src/functionalTest/groovy/com/devsoap/plugin/tests/KotlinTest.groovy index 4af660b2..909852b8 100644 --- a/src/functionalTest/groovy/com/devsoap/plugin/tests/KotlinTest.groovy +++ b/src/functionalTest/groovy/com/devsoap/plugin/tests/KotlinTest.groovy @@ -28,7 +28,7 @@ class KotlinTest extends KotlinIntegrationTest { @Parameterized.Parameters(name = "Kotlin {0}") static Collection getKotlinVersions() { - [ '1.3.11'] + [ '1.3.70'] } @Test void 'Create project'() { diff --git a/src/main/groovy/com/devsoap/plugin/GradleVaadinPlugin.groovy b/src/main/groovy/com/devsoap/plugin/GradleVaadinPlugin.groovy index 486d275e..3b11a9ab 100644 --- a/src/main/groovy/com/devsoap/plugin/GradleVaadinPlugin.groovy +++ b/src/main/groovy/com/devsoap/plugin/GradleVaadinPlugin.groovy @@ -212,7 +212,7 @@ class GradleVaadinPlugin implements Plugin { Gradle gradle = project.gradle VersionNumber version = VersionNumber.parse(gradle.gradleVersion) - VersionNumber requiredVersion = new VersionNumber(5, 6, 0, null) + VersionNumber requiredVersion = new VersionNumber(6, 0, 0, null) if ( version.baseVersion < requiredVersion ) { throw new UnsupportedVersionException("Your gradle version ($version) is too old. " + "Plugin requires Gradle $requiredVersion+") diff --git a/src/main/groovy/com/devsoap/plugin/tasks/BuildClassPathJar.groovy b/src/main/groovy/com/devsoap/plugin/tasks/BuildClassPathJar.groovy index aece6563..82e4b395 100644 --- a/src/main/groovy/com/devsoap/plugin/tasks/BuildClassPathJar.groovy +++ b/src/main/groovy/com/devsoap/plugin/tasks/BuildClassPathJar.groovy @@ -20,6 +20,7 @@ import com.devsoap.plugin.Util import org.gradle.api.file.FileCollection import org.gradle.api.provider.Property import org.gradle.api.provider.Provider +import org.gradle.api.tasks.Input import org.gradle.api.tasks.bundling.Jar /** @@ -32,6 +33,7 @@ class BuildClassPathJar extends Jar { public static final String NAME = 'vaadinClassPathJar' + @Input private final Property useClassPathJar = project.objects.property(Boolean) BuildClassPathJar() { @@ -51,7 +53,7 @@ class BuildClassPathJar extends Jar { project.configurations[GradleVaadinPlugin.CONFIGURATION_RUN_SERVER] + project.configurations[GradleVaadinPlugin.CONFIGURATION_THEME] ) - .filter { it.file && it.canonicalFile.name.endsWith('.jar')} + .filter { it.file && it.canonicalFile.name.endsWith('.jar') } manifest { it.attributes('Class-Path':files.collect { File file -> file.toURI().toString() }.join(' ')) } diff --git a/src/main/groovy/com/devsoap/plugin/tasks/CompileThemeTask.groovy b/src/main/groovy/com/devsoap/plugin/tasks/CompileThemeTask.groovy index 8fcf75d1..d56ab60c 100644 --- a/src/main/groovy/com/devsoap/plugin/tasks/CompileThemeTask.groovy +++ b/src/main/groovy/com/devsoap/plugin/tasks/CompileThemeTask.groovy @@ -27,6 +27,7 @@ import org.gradle.api.provider.Property import org.gradle.api.provider.Provider import org.gradle.api.tasks.CacheableTask import org.gradle.api.tasks.Input +import org.gradle.api.tasks.Optional import org.gradle.api.tasks.TaskAction import org.gradle.tooling.BuildActionFailureException @@ -65,10 +66,14 @@ class CompileThemeTask extends DefaultTask { private static final String STYLES_SCSS = 'styles.scss' + @Input + @Optional private final Property themesDirectory = project.objects.property(String) private final Property compiler = project.objects.property(String) private final Property compress = project.objects.property(Boolean) + @Input private final Property useClasspathJar = project.objects.property(Boolean) + @Input private final ListProperty jvmArgs = project.objects.listProperty(String) /** diff --git a/src/main/groovy/com/devsoap/plugin/tasks/CompileWidgetsetTask.groovy b/src/main/groovy/com/devsoap/plugin/tasks/CompileWidgetsetTask.groovy index dabffb15..cfe40469 100644 --- a/src/main/groovy/com/devsoap/plugin/tasks/CompileWidgetsetTask.groovy +++ b/src/main/groovy/com/devsoap/plugin/tasks/CompileWidgetsetTask.groovy @@ -32,6 +32,8 @@ import org.gradle.api.provider.ListProperty import org.gradle.api.provider.Property import org.gradle.api.provider.Provider import org.gradle.api.tasks.CacheableTask +import org.gradle.api.tasks.Input +import org.gradle.api.tasks.Optional import org.gradle.api.tasks.TaskAction import java.util.concurrent.TimeUnit @@ -51,31 +53,61 @@ class CompileWidgetsetTask extends DefaultTask { private static final WIDGETSET_CDN_URL = 'https://wsc.vaadin.com/' + @Input private final Property style = project.objects.property(String) + @Input private final Property optimize = project.objects.property(Integer) + @Input private final Property logEnabled = project.objects.property(Boolean) + @Input private final Property logLevel = project.objects.property(String) + @Input private final Property localWorkers = project.objects.property(Integer) + @Input private final Property draftCompile = project.objects.property(Boolean) + @Input private final Property strict = project.objects.property(Boolean) + @Input + @Optional private final Property userAgent = project.objects.property(String) + @Input private final ListProperty jvmArgs = project.objects.listProperty(String) + @Input private final ListProperty extraArgs = project.objects.listProperty(String) + @Input private final ListProperty sourcePaths = project.objects.listProperty(String) + @Input private final Property collapsePermutations = project.objects.property(Boolean) + @Input private final ListProperty extraInherits = project.objects.listProperty(String) + @Input private final Property gwtSdkFirstInClasspath = project.objects.property(Boolean) + @Input + @Optional private final Property outputDirectory = project.objects.property(String) + @Input private final Property widgetsetCDN = project.objects.property(Boolean) + @Input private final Property profiler = project.objects.property(Boolean) + @Input private final Property manageWidgetset = project.objects.property(Boolean) + @Input + @Optional private final Property widgetset = project.objects.property(String) + @Input + @Optional private final Property widgetsetGenerator = project.objects.property(String) + @Input private final Property proxyEnabled = project.objects.property(Boolean) + @Input private final Property proxyPort = project.objects.property(Integer) + @Input private final Property proxyScheme = project.objects.property(String) + @Input private final Property proxyHost = project.objects.property(String) + @Input + @Optional private final Property proxyAuth = project.objects.property(AuthConfig) private Closure queryWidgetsetRequest = { version, style -> diff --git a/src/main/groovy/com/devsoap/plugin/tasks/CreateAddonProjectTask.groovy b/src/main/groovy/com/devsoap/plugin/tasks/CreateAddonProjectTask.groovy index 398fad32..69a3d3c1 100644 --- a/src/main/groovy/com/devsoap/plugin/tasks/CreateAddonProjectTask.groovy +++ b/src/main/groovy/com/devsoap/plugin/tasks/CreateAddonProjectTask.groovy @@ -24,6 +24,7 @@ import com.devsoap.plugin.creators.ProjectCreator import com.devsoap.plugin.creators.ThemeCreator import com.devsoap.plugin.extensions.VaadinPluginExtension import org.gradle.api.DefaultTask +import org.gradle.api.tasks.Input import org.gradle.api.tasks.options.Option import org.gradle.api.tasks.TaskAction @@ -46,6 +47,7 @@ class CreateAddonProjectTask extends DefaultTask { /** * The addon name */ + @Input @Option(option = 'name', description = 'Addon name') String componentName = 'MyComponent' diff --git a/src/main/groovy/com/devsoap/plugin/tasks/CreateAddonThemeTask.groovy b/src/main/groovy/com/devsoap/plugin/tasks/CreateAddonThemeTask.groovy index 0782f3ed..6fdd2c09 100644 --- a/src/main/groovy/com/devsoap/plugin/tasks/CreateAddonThemeTask.groovy +++ b/src/main/groovy/com/devsoap/plugin/tasks/CreateAddonThemeTask.groovy @@ -17,6 +17,8 @@ package com.devsoap.plugin.tasks import com.devsoap.plugin.creators.AddonThemeCreator import org.gradle.api.DefaultTask +import org.gradle.api.tasks.Input +import org.gradle.api.tasks.Optional import org.gradle.api.tasks.options.Option import org.gradle.api.provider.Property import org.gradle.api.provider.Provider @@ -32,11 +34,14 @@ class CreateAddonThemeTask extends DefaultTask { static final String NAME = 'vaadinCreateAddonTheme' + @Input private final Property addonTitle = project.objects.property(String) /** * The theme name */ + @Input + @Optional @Option(option = 'name', description = 'Theme name') String themeName = 'MyAddonTheme' diff --git a/src/main/groovy/com/devsoap/plugin/tasks/CreateComponentTask.groovy b/src/main/groovy/com/devsoap/plugin/tasks/CreateComponentTask.groovy index 3b2a28d5..e456c51d 100644 --- a/src/main/groovy/com/devsoap/plugin/tasks/CreateComponentTask.groovy +++ b/src/main/groovy/com/devsoap/plugin/tasks/CreateComponentTask.groovy @@ -18,6 +18,7 @@ package com.devsoap.plugin.tasks import com.devsoap.plugin.Util import com.devsoap.plugin.creators.ComponentCreator import org.gradle.api.DefaultTask +import org.gradle.api.tasks.Input import org.gradle.api.tasks.options.Option import org.gradle.api.tasks.TaskAction @@ -34,6 +35,7 @@ class CreateComponentTask extends DefaultTask { /** * The component name */ + @Input @Option(option = 'name', description = 'Component name') String componentName = 'MyComponent' diff --git a/src/main/groovy/com/devsoap/plugin/tasks/CreateCompositeTask.groovy b/src/main/groovy/com/devsoap/plugin/tasks/CreateCompositeTask.groovy index 4f1eb233..355518f6 100644 --- a/src/main/groovy/com/devsoap/plugin/tasks/CreateCompositeTask.groovy +++ b/src/main/groovy/com/devsoap/plugin/tasks/CreateCompositeTask.groovy @@ -19,6 +19,7 @@ import com.devsoap.plugin.ProjectType import com.devsoap.plugin.TemplateUtil import com.devsoap.plugin.Util import org.gradle.api.DefaultTask +import org.gradle.api.tasks.Input import org.gradle.api.tasks.options.Option import org.gradle.api.tasks.TaskAction @@ -37,12 +38,14 @@ class CreateCompositeTask extends DefaultTask { /** * The composite class name */ + @Input @Option(option = 'name', description = 'Component name') String componentName = 'MyComposite' /** * The composite package name */ + @Input @Option(option = 'package', description = 'Package name') String componentPackage = "com.example.${componentName.toLowerCase()}" diff --git a/src/main/groovy/com/devsoap/plugin/tasks/CreateDesignTask.groovy b/src/main/groovy/com/devsoap/plugin/tasks/CreateDesignTask.groovy index 37c47db4..3161b473 100644 --- a/src/main/groovy/com/devsoap/plugin/tasks/CreateDesignTask.groovy +++ b/src/main/groovy/com/devsoap/plugin/tasks/CreateDesignTask.groovy @@ -20,6 +20,7 @@ import com.devsoap.plugin.TemplateUtil import com.devsoap.plugin.Util import org.gradle.api.DefaultTask import org.gradle.api.GradleException +import org.gradle.api.tasks.Input import org.gradle.api.tasks.options.Option import org.gradle.api.tasks.TaskAction @@ -42,30 +43,35 @@ class CreateDesignTask extends DefaultTask{ /** * The design class name */ + @Input @Option(option = 'name', description = 'The name of the design') String designName = 'BasicView' /** * The package where the design should be put */ + @Input @Option(option = 'package', description = 'The package of the design') String designPackage = "com.example.${designName.toLowerCase()}" /** * Should a companion java file be created */ + @Input @Option(option = 'companionFile', description = 'Create the companion file for the design') boolean createCompanionFile = true /** * Should a companion implementation file be created */ + @Input @Option(option = 'implementationFile', description = 'Create implementation file for the design') boolean createImplementationFile = true /** * Should we output the templates available to the console instead of creating a design. */ + @Input @Option(option = 'templates', description = 'Lists the available templates. Add your templates to .vaadin/designer/templates to use them here.') boolean listTemplates = false @@ -73,6 +79,7 @@ class CreateDesignTask extends DefaultTask{ /** * The template to use for creating a design */ + @Input @Option(option = 'template', description = "The selected template to use. Must be included in --templates") String template = null diff --git a/src/main/groovy/com/devsoap/plugin/tasks/CreateProjectTask.groovy b/src/main/groovy/com/devsoap/plugin/tasks/CreateProjectTask.groovy index 006af7a8..9600c805 100644 --- a/src/main/groovy/com/devsoap/plugin/tasks/CreateProjectTask.groovy +++ b/src/main/groovy/com/devsoap/plugin/tasks/CreateProjectTask.groovy @@ -21,6 +21,8 @@ import com.devsoap.plugin.creators.ProjectCreator import com.devsoap.plugin.creators.ThemeCreator import com.devsoap.plugin.extensions.VaadinPluginExtension import org.gradle.api.DefaultTask +import org.gradle.api.tasks.Input +import org.gradle.api.tasks.Optional import org.gradle.api.tasks.options.Option import org.gradle.api.tasks.TaskAction @@ -39,18 +41,24 @@ class CreateProjectTask extends DefaultTask { /** * The application class name */ + @Input + @Optional @Option(option = 'name', description = 'Application name') String applicationName /** * The application package */ + @Input + @Optional @Option(option = 'package', description = 'Application UI package') String applicationPackage /** * The fully qualified name of the widgetset */ + @Input + @Optional @Option(option = 'widgetset', description = 'Widgetset name') String widgetsetFQN diff --git a/src/main/groovy/com/devsoap/plugin/tasks/CreateTestbenchTestTask.groovy b/src/main/groovy/com/devsoap/plugin/tasks/CreateTestbenchTestTask.groovy index f1d90608..47c7a33b 100644 --- a/src/main/groovy/com/devsoap/plugin/tasks/CreateTestbenchTestTask.groovy +++ b/src/main/groovy/com/devsoap/plugin/tasks/CreateTestbenchTestTask.groovy @@ -20,6 +20,7 @@ import com.devsoap.plugin.TemplateUtil import com.devsoap.plugin.Util import org.gradle.api.DefaultTask import org.gradle.api.GradleException +import org.gradle.api.tasks.Input import org.gradle.api.tasks.options.Option import org.gradle.api.tasks.TaskAction @@ -35,12 +36,14 @@ class CreateTestbenchTestTask extends DefaultTask { /** * The test class name */ + @Input @Option(option = 'name', description = 'Test name') String testName = 'MyTest' /** * The test package */ + @Input @Option(option = 'package', description = 'Test package') String testPackage = 'com.example.tests' diff --git a/src/main/groovy/com/devsoap/plugin/tasks/CreateThemeTask.groovy b/src/main/groovy/com/devsoap/plugin/tasks/CreateThemeTask.groovy index 619269be..4b8c7414 100644 --- a/src/main/groovy/com/devsoap/plugin/tasks/CreateThemeTask.groovy +++ b/src/main/groovy/com/devsoap/plugin/tasks/CreateThemeTask.groovy @@ -19,6 +19,8 @@ import com.devsoap.plugin.Util import com.devsoap.plugin.creators.ThemeCreator import com.devsoap.plugin.extensions.VaadinPluginExtension import org.gradle.api.DefaultTask +import org.gradle.api.tasks.Input +import org.gradle.api.tasks.Optional import org.gradle.api.tasks.options.Option import org.gradle.api.tasks.TaskAction @@ -35,6 +37,8 @@ class CreateThemeTask extends DefaultTask { /** * The theme name */ + @Input + @Optional @Option(option = 'name', description = 'Theme name') String themeName diff --git a/src/main/groovy/com/devsoap/plugin/tasks/DevModeTask.groovy b/src/main/groovy/com/devsoap/plugin/tasks/DevModeTask.groovy index 99ebc411..fc345004 100644 --- a/src/main/groovy/com/devsoap/plugin/tasks/DevModeTask.groovy +++ b/src/main/groovy/com/devsoap/plugin/tasks/DevModeTask.groovy @@ -22,6 +22,7 @@ import org.gradle.api.DefaultTask import org.gradle.api.GradleException import org.gradle.api.provider.ListProperty import org.gradle.api.provider.Property +import org.gradle.api.tasks.Input import org.gradle.api.tasks.Internal import org.gradle.api.tasks.TaskAction @@ -49,18 +50,33 @@ class DevModeTask extends DefaultTask { @Internal ApplicationServer serverInstance + @Input private final Property server = project.objects.property(String) + @Input private final Property debug = project.objects.property(Boolean) + @Input private final Property debugPort = project.objects.property(Integer) + @Input private final ListProperty jvmArgs = project.objects.listProperty(String) + @Input + private final Property serverRestart = project.objects.property(Boolean) + @Input private final Property serverPort = project.objects.property(Integer) + @Input private final Property themeAutoRecompile = project.objects.property(Boolean) + @Input private final Property openInBrowser = project.objects.property(Boolean) + @Input private final Property classesDir = project.objects.property(String) + @Input private final Property noserver = project.objects.property(Boolean) + @Input private final Property bindAddress = project.objects.property(String) + @Input private final Property codeServerPort = project.objects.property(Integer) + @Input private final ListProperty extraArgs = project.objects.listProperty(String) + @Input private final Property logLevel = project.objects.property(String) /** @@ -258,6 +274,7 @@ class DevModeTask extends DefaultTask { */ @Deprecated void setServerRestart(Boolean restart) { + serverRestart.set(restart) MessageLogger.nagUserOfDiscontinuedProperty(new Throwable(RunTask.SERVER_RESTART_DEPRECATED_MESSAGE)) restart } diff --git a/src/main/groovy/com/devsoap/plugin/tasks/DirectorySearchTask.groovy b/src/main/groovy/com/devsoap/plugin/tasks/DirectorySearchTask.groovy index 6e52c921..3ffe1f4a 100644 --- a/src/main/groovy/com/devsoap/plugin/tasks/DirectorySearchTask.groovy +++ b/src/main/groovy/com/devsoap/plugin/tasks/DirectorySearchTask.groovy @@ -17,6 +17,7 @@ package com.devsoap.plugin.tasks import groovy.json.JsonSlurper import org.gradle.api.DefaultTask +import org.gradle.api.tasks.Input import org.gradle.api.tasks.options.Option import org.gradle.api.tasks.TaskAction @@ -43,18 +44,21 @@ class DirectorySearchTask extends DefaultTask { /** * Searches for addons using the given search pattern */ + @Input @Option(option = 'search', description ='String to search for in addons') String searchPattern /** * Sorts the result with the given options */ + @Input @Option(option = 'sort', description = 'Sort criteria (options:name,description,date,rating)') String sortOption /** * If enabled prints more information in the search results */ + @Input @Option(option = 'verbose', description = 'Should verbose descriptions be shown') Boolean verbose diff --git a/src/main/groovy/com/devsoap/plugin/tasks/RunTask.groovy b/src/main/groovy/com/devsoap/plugin/tasks/RunTask.groovy index 4179f0d8..3ec06ed5 100644 --- a/src/main/groovy/com/devsoap/plugin/tasks/RunTask.groovy +++ b/src/main/groovy/com/devsoap/plugin/tasks/RunTask.groovy @@ -18,6 +18,8 @@ package com.devsoap.plugin.tasks import com.devsoap.plugin.MessageLogger import com.devsoap.plugin.servers.ApplicationServer import org.gradle.api.DefaultTask +import org.gradle.api.tasks.Input +import org.gradle.api.tasks.Optional import org.gradle.api.tasks.options.Option import org.gradle.api.provider.ListProperty import org.gradle.api.provider.Property @@ -46,6 +48,7 @@ class RunTask extends DefaultTask { /** * Should the server be stopped after it has been started */ + @Input @Option(option = 'stopAfterStart', description = 'Should the server stop after starting') boolean stopAfterStarting = false @@ -53,16 +56,28 @@ class RunTask extends DefaultTask { * Should the browser be shown */ // FIXME Is this duplicate to the property openInBrowser? + @Input @Option(option = 'nobrowser', description = 'Do not open browser after server has started') boolean nobrowser = false + @Input private final Property server = project.objects.property(String) + @Input private final Property debug = project.objects.property(Boolean) + @Input private final Property debugPort = project.objects.property(Integer) + @Input private final ListProperty jvmArgs = project.objects.listProperty(String) + @Input + private final Property serverRestart = project.objects.property(Boolean) + @Input private final Property serverPort = project.objects.property(Integer) + @Input private final Property themeAutoRecompile = project.objects.property(Boolean) + @Input private final Property openInBrowser = project.objects.property(Boolean) + @Input + @Optional private final Property classesDir = project.objects.property(String) /** @@ -199,6 +214,7 @@ class RunTask extends DefaultTask { */ @Deprecated void setServerRestart(Boolean restart) { + serverRestart.set(restart) MessageLogger.nagUserOfDiscontinuedProperty(new Throwable(SERVER_RESTART_DEPRECATED_MESSAGE)) restart } diff --git a/src/main/groovy/com/devsoap/plugin/tasks/SuperDevModeTask.groovy b/src/main/groovy/com/devsoap/plugin/tasks/SuperDevModeTask.groovy index bf3b119f..f5646803 100644 --- a/src/main/groovy/com/devsoap/plugin/tasks/SuperDevModeTask.groovy +++ b/src/main/groovy/com/devsoap/plugin/tasks/SuperDevModeTask.groovy @@ -23,6 +23,7 @@ import org.gradle.api.GradleException import org.gradle.api.file.FileCollection import org.gradle.api.provider.ListProperty import org.gradle.api.provider.Property +import org.gradle.api.tasks.Input import org.gradle.api.tasks.Internal import org.gradle.api.tasks.TaskAction @@ -48,18 +49,33 @@ class SuperDevModeTask extends DefaultTask { @Internal ApplicationServer serverInstance + @Input private final Property server = project.objects.property(String) + @Input private final Property debug = project.objects.property(Boolean) + @Input private final Property debugPort = project.objects.property(Integer) + @Input private final ListProperty jvmArgs = project.objects.listProperty(String) + @Input + private final Property serverRestart = project.objects.property(Boolean) + @Input private final Property serverPort = project.objects.property(Integer) + @Input private final Property themeAutoRecompile = project.objects.property(Boolean) + @Input private final Property openInBrowser = project.objects.property(Boolean) + @Input private final Property classesDir = project.objects.property(String) + @Input private final Property noserver = project.objects.property(Boolean) + @Input private final Property bindAddress = project.objects.property(String) + @Input private final Property codeServerPort = project.objects.property(Integer) + @Input private final ListProperty extraArgs = project.objects.listProperty(String) + @Input private final Property logLevel = project.objects.property(String) /** @@ -254,6 +270,7 @@ class SuperDevModeTask extends DefaultTask { */ @Deprecated void setServerRestart(Boolean restart) { + serverRestart.set(restart) MessageLogger.nagUserOfDiscontinuedProperty(new Throwable(RunTask.SERVER_RESTART_DEPRECATED_MESSAGE)) restart } diff --git a/src/main/groovy/com/devsoap/plugin/tasks/VersionCheckTask.groovy b/src/main/groovy/com/devsoap/plugin/tasks/VersionCheckTask.groovy index 9d72111a..1d9be2e5 100644 --- a/src/main/groovy/com/devsoap/plugin/tasks/VersionCheckTask.groovy +++ b/src/main/groovy/com/devsoap/plugin/tasks/VersionCheckTask.groovy @@ -85,7 +85,6 @@ class VersionCheckTask extends DefaultTask { * @param versionCacheFile * the version cache file */ - @InputFile void setVersionCacheFile(File versionCacheFile) { this.versionCacheFile = versionCacheFile }