diff --git a/apps/jreleaser-tool-provider/gradle.properties b/apps/jreleaser-tool-provider/gradle.properties index 92ff0132..ff0681f8 100644 --- a/apps/jreleaser-tool-provider/gradle.properties +++ b/apps/jreleaser-tool-provider/gradle.properties @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: Apache-2.0 # -# Copyright 2020 Andres Almiray. +# Copyright 2020-2021 Andres Almiray. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/apps/jreleaser-tool-provider/jreleaser-tool-provider.gradle b/apps/jreleaser-tool-provider/jreleaser-tool-provider.gradle index 4eeaa316..0057c2f6 100644 --- a/apps/jreleaser-tool-provider/jreleaser-tool-provider.gradle +++ b/apps/jreleaser-tool-provider/jreleaser-tool-provider.gradle @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,7 +15,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - plugins { id 'com.github.johnrengelman.shadow' id 'application' @@ -23,6 +22,14 @@ plugins { mainClassName = 'org.kordamp.jreleaser.tool.JReleaser' +config { + docs { + javadoc { + empty = true + } + } +} + configurations { uberjar } diff --git a/apps/jreleaser-tool-provider/src/main/java/org/kordamp/jreleaser/tool/JReleaser.java b/apps/jreleaser-tool-provider/src/main/java/org/kordamp/jreleaser/tool/JReleaser.java index 7a5d87d3..8bc395d8 100644 --- a/apps/jreleaser-tool-provider/src/main/java/org/kordamp/jreleaser/tool/JReleaser.java +++ b/apps/jreleaser-tool-provider/src/main/java/org/kordamp/jreleaser/tool/JReleaser.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/apps/jreleaser/gradle.properties b/apps/jreleaser/gradle.properties index 46c8a9c2..f985c7ee 100644 --- a/apps/jreleaser/gradle.properties +++ b/apps/jreleaser/gradle.properties @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: Apache-2.0 # -# Copyright 2020 Andres Almiray. +# Copyright 2020-2021 Andres Almiray. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/apps/jreleaser/jreleaser.gradle b/apps/jreleaser/jreleaser.gradle index 821f0c29..0a24e7fd 100644 --- a/apps/jreleaser/jreleaser.gradle +++ b/apps/jreleaser/jreleaser.gradle @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,7 +15,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - plugins { id 'application' } diff --git a/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/AbstractCommand.java b/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/AbstractCommand.java index 82fa5aa1..7933e77d 100644 --- a/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/AbstractCommand.java +++ b/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/AbstractCommand.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/AbstractModelCommand.java b/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/AbstractModelCommand.java index 27f5a414..4b9f8e79 100644 --- a/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/AbstractModelCommand.java +++ b/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/AbstractModelCommand.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/AbstractProcessorCommand.java b/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/AbstractProcessorCommand.java index f7e8e6ce..360db976 100644 --- a/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/AbstractProcessorCommand.java +++ b/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/AbstractProcessorCommand.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/Banner.java b/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/Banner.java index bdb3949f..90013b85 100644 --- a/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/Banner.java +++ b/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/Banner.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/Config.java b/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/Config.java index d2038bb1..84f4ecd8 100644 --- a/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/Config.java +++ b/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/Config.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/HaltExecutionException.java b/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/HaltExecutionException.java index 2d4dc5c4..cda7e684 100644 --- a/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/HaltExecutionException.java +++ b/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/HaltExecutionException.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/Init.java b/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/Init.java index 967ea238..2fe3b52b 100644 --- a/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/Init.java +++ b/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/Init.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/JReleaserException.java b/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/JReleaserException.java index cea1d91b..8799b7f2 100644 --- a/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/JReleaserException.java +++ b/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/JReleaserException.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/Main.java b/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/Main.java index bfea6efe..4463b5c6 100644 --- a/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/Main.java +++ b/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/Main.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/Package.java b/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/Package.java index 1539ff2b..e440d93e 100644 --- a/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/Package.java +++ b/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/Package.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/Prepare.java b/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/Prepare.java index 1adfca02..fd319460 100644 --- a/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/Prepare.java +++ b/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/Prepare.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/Template.java b/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/Template.java index f3d3d00e..53b07ead 100644 --- a/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/Template.java +++ b/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/Template.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/Versions.java b/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/Versions.java index 7adde4ca..6162566e 100644 --- a/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/Versions.java +++ b/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/Versions.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/internal/Colorizer.java b/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/internal/Colorizer.java index d8f5ba6f..8744a240 100644 --- a/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/internal/Colorizer.java +++ b/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/internal/Colorizer.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/internal/JReleaserLoggerAdapter.java b/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/internal/JReleaserLoggerAdapter.java index a56d5fef..5534ede0 100644 --- a/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/internal/JReleaserLoggerAdapter.java +++ b/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/internal/JReleaserLoggerAdapter.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/internal/JReleaserModelPrinter.java b/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/internal/JReleaserModelPrinter.java index beed8087..72df1a03 100644 --- a/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/internal/JReleaserModelPrinter.java +++ b/apps/jreleaser/src/main/java/org/kordamp/jreleaser/app/internal/JReleaserModelPrinter.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/apps/jreleaser/src/main/resources/org/kordamp/jreleaser/app/Banner.properties b/apps/jreleaser/src/main/resources/org/kordamp/jreleaser/app/Banner.properties index d841c0dc..a6d47725 100644 --- a/apps/jreleaser/src/main/resources/org/kordamp/jreleaser/app/Banner.properties +++ b/apps/jreleaser/src/main/resources/org/kordamp/jreleaser/app/Banner.properties @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: Apache-2.0 # -# Copyright 2020 Andres Almiray. +# Copyright 2020-2021 Andres Almiray. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/apps/jreleaser/src/main/resources/org/kordamp/jreleaser/app/Versions.properties b/apps/jreleaser/src/main/resources/org/kordamp/jreleaser/app/Versions.properties index 3c10a483..288574cd 100644 --- a/apps/jreleaser/src/main/resources/org/kordamp/jreleaser/app/Versions.properties +++ b/apps/jreleaser/src/main/resources/org/kordamp/jreleaser/app/Versions.properties @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: Apache-2.0 # -# Copyright 2020 Andres Almiray. +# Copyright 2020-2021 Andres Almiray. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/build.gradle b/build.gradle index fa00c497..811858f9 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,7 +15,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - config { info { description = 'jreleaser' diff --git a/core/jreleaser-config-yaml/gradle.properties b/core/jreleaser-config-yaml/gradle.properties index aa48a345..30fffa2e 100644 --- a/core/jreleaser-config-yaml/gradle.properties +++ b/core/jreleaser-config-yaml/gradle.properties @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: Apache-2.0 # -# Copyright 2020 Andres Almiray. +# Copyright 2020-2021 Andres Almiray. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/core/jreleaser-config-yaml/jreleaser-config-yaml.gradle b/core/jreleaser-config-yaml/jreleaser-config-yaml.gradle index 111108db..ef980678 100644 --- a/core/jreleaser-config-yaml/jreleaser-config-yaml.gradle +++ b/core/jreleaser-config-yaml/jreleaser-config-yaml.gradle @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,7 +15,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - dependencies { api project(':jreleaser-config') api "org.yaml:snakeyaml:$snakeYamlVersion" diff --git a/core/jreleaser-config-yaml/src/main/java/org/kordamp/jreleaser/config/yaml/YamlJReleaserConfigParser.java b/core/jreleaser-config-yaml/src/main/java/org/kordamp/jreleaser/config/yaml/YamlJReleaserConfigParser.java index b00092a3..6afb081c 100644 --- a/core/jreleaser-config-yaml/src/main/java/org/kordamp/jreleaser/config/yaml/YamlJReleaserConfigParser.java +++ b/core/jreleaser-config-yaml/src/main/java/org/kordamp/jreleaser/config/yaml/YamlJReleaserConfigParser.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/jreleaser-config/gradle.properties b/core/jreleaser-config/gradle.properties index df3d7f5b..f6998ade 100644 --- a/core/jreleaser-config/gradle.properties +++ b/core/jreleaser-config/gradle.properties @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: Apache-2.0 # -# Copyright 2020 Andres Almiray. +# Copyright 2020-2021 Andres Almiray. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/core/jreleaser-config/jreleaser-config.gradle b/core/jreleaser-config/jreleaser-config.gradle index cc845253..0939affa 100644 --- a/core/jreleaser-config/jreleaser-config.gradle +++ b/core/jreleaser-config/jreleaser-config.gradle @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,7 +15,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - dependencies { api project(':jreleaser-model') } \ No newline at end of file diff --git a/core/jreleaser-config/src/main/java/org/kordamp/jreleaser/config/JReleaserConfigLoader.java b/core/jreleaser-config/src/main/java/org/kordamp/jreleaser/config/JReleaserConfigLoader.java index 6cca5f3c..bd6058ed 100644 --- a/core/jreleaser-config/src/main/java/org/kordamp/jreleaser/config/JReleaserConfigLoader.java +++ b/core/jreleaser-config/src/main/java/org/kordamp/jreleaser/config/JReleaserConfigLoader.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/jreleaser-config/src/main/java/org/kordamp/jreleaser/config/JReleaserConfigParser.java b/core/jreleaser-config/src/main/java/org/kordamp/jreleaser/config/JReleaserConfigParser.java index 26494ec7..2a96d944 100644 --- a/core/jreleaser-config/src/main/java/org/kordamp/jreleaser/config/JReleaserConfigParser.java +++ b/core/jreleaser-config/src/main/java/org/kordamp/jreleaser/config/JReleaserConfigParser.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/jreleaser-model/gradle.properties b/core/jreleaser-model/gradle.properties index d6674ea8..22b54ef8 100644 --- a/core/jreleaser-model/gradle.properties +++ b/core/jreleaser-model/gradle.properties @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: Apache-2.0 # -# Copyright 2020 Andres Almiray. +# Copyright 2020-2021 Andres Almiray. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/core/jreleaser-model/jreleaser-model.gradle b/core/jreleaser-model/jreleaser-model.gradle index 5b512d17..8f511521 100644 --- a/core/jreleaser-model/jreleaser-model.gradle +++ b/core/jreleaser-model/jreleaser-model.gradle @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,7 +15,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - dependencies { api project(':jreleaser-utils') } \ No newline at end of file diff --git a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/AbstractDomain.java b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/AbstractDomain.java index 0c951015..48898085 100644 --- a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/AbstractDomain.java +++ b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/AbstractDomain.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/AbstractTool.java b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/AbstractTool.java index 15a3be7c..ee479c8b 100644 --- a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/AbstractTool.java +++ b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/AbstractTool.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Artifact.java b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Artifact.java index f5a94eb5..3bcef720 100644 --- a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Artifact.java +++ b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Artifact.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Brew.java b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Brew.java index ecee0437..59b014c8 100644 --- a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Brew.java +++ b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Brew.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Changelog.java b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Changelog.java new file mode 100644 index 00000000..6b816b5a --- /dev/null +++ b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Changelog.java @@ -0,0 +1,92 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright 2020-2021 Andres Almiray. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.kordamp.jreleaser.model; + +import java.io.File; +import java.util.Collections; +import java.util.LinkedHashMap; +import java.util.Map; + +import static org.kordamp.jreleaser.util.StringUtils.isNotBlank; + +/** + * @author Andres Almiray + * @since 0.1.0 + */ +public class Changelog extends AbstractDomain { + private Boolean enabled; + private boolean enabledSet; + private Sort sort = Sort.ASC; + private File external; + + void setAll(Changelog changelog) { + this.enabled = changelog.enabled; + this.enabledSet = changelog.enabledSet; + this.sort = changelog.sort; + this.external = changelog.external; + } + + public Boolean isEnabled() { + return enabled != null && enabled; + } + + public void setEnabled(Boolean enabled) { + this.enabledSet = true; + this.enabled = enabled; + } + + public boolean isEnabledSet() { + return enabledSet; + } + + public Sort getSort() { + return sort; + } + + public void setSort(Sort sort) { + this.sort = sort; + } + + public void setSort(String sort) { + if (isNotBlank(sort)) { + setSort(Sort.valueOf(sort.toUpperCase())); + } + } + + public File getExternal() { + return external; + } + + public void setExternal(File external) { + this.external = external; + } + + public Map asMap() { + if (!isEnabled()) return Collections.emptyMap(); + + Map map = new LinkedHashMap<>(); + map.put("enabled", isEnabled()); + map.put("sort", sort); + map.put("external", external); + return map; + } + + public enum Sort { + ASC, DESC + } +} diff --git a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Chocolatey.java b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Chocolatey.java index f68c9c48..ec6b8cca 100644 --- a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Chocolatey.java +++ b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Chocolatey.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Distribution.java b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Distribution.java index f78759d8..644af057 100644 --- a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Distribution.java +++ b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Distribution.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/ExtraProperties.java b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/ExtraProperties.java index 119b4b80..ec5d0325 100644 --- a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/ExtraProperties.java +++ b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/ExtraProperties.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/GitService.java b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/GitService.java new file mode 100644 index 00000000..4764f8b9 --- /dev/null +++ b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/GitService.java @@ -0,0 +1,191 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright 2020-2021 Andres Almiray. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.kordamp.jreleaser.model; + +import java.util.LinkedHashMap; +import java.util.Map; + +/** + * @author Andres Almiray + * @since 0.1.0 + */ +public abstract class GitService extends AbstractDomain { + private String repoHost; + private String repoOwner; + private String repoName; + private String downloadUrlFormat; + private String releaseNotesUrlFormat; + private String latestReleaseUrlFormat; + private String issueTrackerUrlFormat; + private String authorization; + private String tagName; + private String releaseName; + private Changelog changelog = new Changelog(); + private boolean overwrite; + private boolean allowUploadToExisting; + private String apiEndpoint; + + void setAll(GitService service) { + this.repoHost = service.repoHost; + this.repoOwner = service.repoOwner; + this.repoName = service.repoName; + this.downloadUrlFormat = service.downloadUrlFormat; + this.releaseNotesUrlFormat = service.releaseNotesUrlFormat; + this.latestReleaseUrlFormat = service.latestReleaseUrlFormat; + this.issueTrackerUrlFormat = service.issueTrackerUrlFormat; + this.authorization = service.authorization; + this.tagName = service.tagName; + this.releaseName = service.releaseName; + this.overwrite = service.overwrite; + this.allowUploadToExisting = service.allowUploadToExisting; + this.apiEndpoint = service.apiEndpoint; + this.changelog.setAll(service.changelog); + } + + public String getRepoHost() { + return repoHost; + } + + public void setRepoHost(String repoHost) { + this.repoHost = repoHost; + } + + public String getRepoOwner() { + return repoOwner; + } + + public void setRepoOwner(String repoOwner) { + this.repoOwner = repoOwner; + } + + public String getRepoName() { + return repoName; + } + + public void setRepoName(String repoName) { + this.repoName = repoName; + } + + public String getDownloadUrlFormat() { + return downloadUrlFormat; + } + + public void setDownloadUrlFormat(String downloadUrlFormat) { + this.downloadUrlFormat = downloadUrlFormat; + } + + public String getReleaseNotesUrlFormat() { + return releaseNotesUrlFormat; + } + + public void setReleaseNotesUrlFormat(String releaseNotesUrlFormat) { + this.releaseNotesUrlFormat = releaseNotesUrlFormat; + } + + public String getLatestReleaseUrlFormat() { + return latestReleaseUrlFormat; + } + + public void setLatestReleaseUrlFormat(String latestReleaseUrlFormat) { + this.latestReleaseUrlFormat = latestReleaseUrlFormat; + } + + public String getIssueTrackerUrlFormat() { + return issueTrackerUrlFormat; + } + + public void setIssueTrackerUrlFormat(String issueTrackerUrlFormat) { + this.issueTrackerUrlFormat = issueTrackerUrlFormat; + } + + public String getAuthorization() { + return authorization; + } + + public void setAuthorization(String authorization) { + this.authorization = authorization; + } + + public String getTagName() { + return tagName; + } + + public void setTagName(String tagName) { + this.tagName = tagName; + } + + public String getReleaseName() { + return releaseName; + } + + public void setReleaseName(String releaseName) { + this.releaseName = releaseName; + } + + public Changelog getChangelog() { + return changelog; + } + + public void setChangelog(Changelog changelog) { + this.changelog = changelog; + } + + public boolean isOverwrite() { + return overwrite; + } + + public void setOverwrite(boolean overwrite) { + this.overwrite = overwrite; + } + + public boolean isAllowUploadToExisting() { + return allowUploadToExisting; + } + + public void setAllowUploadToExisting(boolean allowUploadToExisting) { + this.allowUploadToExisting = allowUploadToExisting; + } + + public String getApiEndpoint() { + return apiEndpoint; + } + + public void setApiEndpoint(String apiEndpoint) { + this.apiEndpoint = apiEndpoint; + } + + @Override + public Map asMap() { + Map map = new LinkedHashMap<>(); + map.put("repoHost", repoHost); + map.put("repoOwner", repoOwner); + map.put("repoName", repoName); + map.put("downloadUrlFormat", downloadUrlFormat); + map.put("releaseNotesUrlFormat", releaseNotesUrlFormat); + map.put("latestReleaseUrlFormat", latestReleaseUrlFormat); + map.put("issueTrackerUrlFormat", issueTrackerUrlFormat); + map.put("authorization", authorization); + map.put("tagName", tagName); + map.put("releaseName", releaseName); + map.put("overwrite", overwrite); + map.put("allowUploadToExisting", allowUploadToExisting); + map.put("apiEndpoint", apiEndpoint); + map.put("changelog", changelog.asMap()); + return map; + } +} diff --git a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Gitea.java b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Gitea.java new file mode 100644 index 00000000..992c83e4 --- /dev/null +++ b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Gitea.java @@ -0,0 +1,78 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright 2020-2021 Andres Almiray. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.kordamp.jreleaser.model; + +import java.util.Map; + +/** + * @author Andres Almiray + * @since 0.1.0 + */ +public class Gitea extends GitService { + private String targetCommitish = "main"; + private boolean draft; + private boolean prerelease; + + public Gitea() { + setRepoHost("try.gitea.io"); + setDownloadUrlFormat("https://{{repoHost}}/{{repoOwner}}/{{repoName}}/releases/download/v{{projectVersion}}/{{artifactFileName}}"); + setReleaseNotesUrlFormat("https://{{repoHost}}/{{repoOwner}}/{{repoName}}/releases/tag/v{{projectVersion}}"); + setLatestReleaseUrlFormat("https://{{repoHost}}/{{repoOwner}}/{{repoName}}/releases/latest"); + setIssueTrackerUrlFormat("https://{{repoHost}}/{{repoOwner}}/{{repoName}}/issues"); + } + + void setAll(Gitea service) { + super.setAll(service); + this.targetCommitish = service.targetCommitish; + this.draft = service.draft; + this.prerelease = service.prerelease; + } + + public String getTargetCommitish() { + return targetCommitish; + } + + public void setTargetCommitish(String targetCommitish) { + this.targetCommitish = targetCommitish; + } + + public boolean isDraft() { + return draft; + } + + public void setDraft(boolean draft) { + this.draft = draft; + } + + public boolean isPrerelease() { + return prerelease; + } + + public void setPrerelease(boolean prerelease) { + this.prerelease = prerelease; + } + + @Override + public Map asMap() { + Map map = super.asMap(); + map.put("targetCommitish", targetCommitish); + map.put("draft", draft); + map.put("prerelease", prerelease); + return map; + } +} diff --git a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Github.java b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Github.java new file mode 100644 index 00000000..193375fc --- /dev/null +++ b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Github.java @@ -0,0 +1,78 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright 2020-2021 Andres Almiray. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.kordamp.jreleaser.model; + +import java.util.Map; + +/** + * @author Andres Almiray + * @since 0.1.0 + */ +public class Github extends GitService { + private String targetCommitish = "main"; + private boolean draft; + private boolean prerelease; + + public Github() { + setRepoHost("github.com"); + setDownloadUrlFormat("https://{{repoHost}}/{{repoOwner}}/{{repoName}}/releases/download/v{{projectVersion}}/{{artifactFileName}}"); + setReleaseNotesUrlFormat("https://{{repoHost}}/{{repoOwner}}/{{repoName}}/releases/tag/v{{projectVersion}}"); + setLatestReleaseUrlFormat("https://{{repoHost}}/{{repoOwner}}/{{repoName}}/releases/latest"); + setIssueTrackerUrlFormat("https://{{repoHost}}/{{repoOwner}}/{{repoName}}/issues"); + } + + void setAll(Github service) { + super.setAll(service); + this.targetCommitish = service.targetCommitish; + this.draft = service.draft; + this.prerelease = service.prerelease; + } + + public String getTargetCommitish() { + return targetCommitish; + } + + public void setTargetCommitish(String targetCommitish) { + this.targetCommitish = targetCommitish; + } + + public boolean isDraft() { + return draft; + } + + public void setDraft(boolean draft) { + this.draft = draft; + } + + public boolean isPrerelease() { + return prerelease; + } + + public void setPrerelease(boolean prerelease) { + this.prerelease = prerelease; + } + + @Override + public Map asMap() { + Map map = super.asMap(); + map.put("targetCommitish", targetCommitish); + map.put("draft", draft); + map.put("prerelease", prerelease); + return map; + } +} diff --git a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Gitlab.java b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Gitlab.java new file mode 100644 index 00000000..23f9cc0a --- /dev/null +++ b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Gitlab.java @@ -0,0 +1,56 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright 2020-2021 Andres Almiray. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.kordamp.jreleaser.model; + +import java.util.Map; + +/** + * @author Andres Almiray + * @since 0.1.0 + */ +public class Gitlab extends GitService { + private String ref = "main"; + + public Gitlab() { + setRepoHost("gitlab.com"); + setDownloadUrlFormat("\"https://{{repoHost}}/{{repoOwner}}/{{repoName}}/-/archive/v{{projectVersion}}/{{artifactFileName}}"); + setReleaseNotesUrlFormat("https://{{repoHost}}/{{repoOwner}}/{{repoName}}/-/releases/v{{projectVersion}}"); + setLatestReleaseUrlFormat("https://{{repoHost}}/{{repoOwner}}/{{repoName}}/-/releases/v{{projectVersion}}"); + setIssueTrackerUrlFormat("https://{{repoHost}}/{{repoOwner}}/{{repoName}}/-/issues"); + } + + void setAll(Gitlab service) { + super.setAll(service); + this.ref = service.ref; + } + + public String getRef() { + return ref; + } + + public void setRef(String ref) { + this.ref = ref; + } + + @Override + public Map asMap() { + Map map = super.asMap(); + map.put("ref", ref); + return map; + } +} diff --git a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/JReleaserModel.java b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/JReleaserModel.java index 70a20e17..f7294625 100644 --- a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/JReleaserModel.java +++ b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/JReleaserModel.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/JReleaserModelPrinter.java b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/JReleaserModelPrinter.java index 8ef1a146..b9ec9f19 100644 --- a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/JReleaserModelPrinter.java +++ b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/JReleaserModelPrinter.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/JReleaserModelValidator.java b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/JReleaserModelValidator.java index e2c5f804..c67c5ac4 100644 --- a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/JReleaserModelValidator.java +++ b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/JReleaserModelValidator.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -80,46 +80,75 @@ public final class JReleaserModelValidator { } private static void validateRelease(Logger logger, Path basedir, Project project, Release release, List errors) { - if (isBlank(release.getRepoOwner())) { - errors.add("release.repoOwner must not be blank"); + int count = 0; + count += validateGithub(logger, basedir, project, release.getGithub(), errors); + count += validateGitlab(logger, basedir, project, release.getGitlab(), errors); + count += validateGitea(logger, basedir, project, release.getGitea(), errors); + + if (0 == count) { + errors.add("One of release.github, release.gitlab, release.gitea must be defined"); + return; } - if (isBlank(release.getRepoName())) { - release.setRepoName(project.getName()); + if (count > 1) { + errors.add("Only one of release.github, release.gitlab, release.gitea can be defined"); } - if (null == release.getRepoType()) { - release.setRepoType(Release.RepoType.GITHUB); + } + + private static void validateGitService(Logger logger, Path basedir, Project project, GitService service, List errors) { + if (isBlank(service.getRepoOwner())) { + errors.add("service.repoOwner must not be blank"); + } + if (isBlank(service.getRepoName())) { + service.setRepoName(project.getName()); } - if (isBlank(release.getRepoHost())) { - release.setRepoHost(release.getRepoType().repoHost()); - } - if (isBlank(release.getDownloadUrlFormat())) { - release.setDownloadUrlFormat(release.getRepoType().downloadUrlFormat()); - } - if (isBlank(release.getReleaseNotesUrlFormat())) { - release.setReleaseNotesUrlFormat(release.getRepoType().releaseNotesUrlFormat()); - } - if (isBlank(release.getLatestReleaseUrlFormat())) { - release.setLatestReleaseUrlFormat(release.getRepoType().latestReleaseUrlFormat()); - } - if (isBlank(release.getIssueTrackerUrlFormat())) { - release.setIssueTrackerUrlFormat(release.getRepoType().issueTrackerUrlFormat()); - } - - if (isBlank(release.getAuthorization())) { - String tokenName = release.getRepoType().name() + "_TOKEN"; - logger.warn("release.auhorization is not explicitly defined. Checking environment for {}", tokenName); + if (isBlank(service.getAuthorization())) { + String tokenName = service.getClass().getSimpleName().toUpperCase() + "_TOKEN"; + logger.warn("service.auhorization is not explicitly defined. Checking environment for {}", tokenName); if (isBlank(System.getenv(tokenName))) { - errors.add("release.authorization must not be blank. Alternatively define a " + tokenName + " environment variable."); + errors.add("service.authorization must not be blank. Alternatively define a " + tokenName + " environment variable."); } return; } - if (isBlank(release.getTagName())) { - release.setTagName("v" + project.getVersion()); + if (isBlank(service.getTagName())) { + service.setTagName("v" + project.getVersion()); } - if (isBlank(release.getTargetCommitish())) { - release.setTargetCommitish("main"); + } + + private static int validateGithub(Logger logger, Path basedir, Project project, Github github, List errors) { + if (null == github) return 0; + + validateGitService(logger, basedir, project, github, errors); + + if (isBlank(github.getTargetCommitish())) { + github.setTargetCommitish("main"); } + + return 1; + } + + private static int validateGitlab(Logger logger, Path basedir, Project project, Gitlab gitlab, List errors) { + if (null == gitlab) return 0; + + validateGitService(logger, basedir, project, gitlab, errors); + + if (isBlank(gitlab.getRef())) { + gitlab.setRef("main"); + } + + return 1; + } + + private static int validateGitea(Logger logger, Path basedir, Project project, Gitea gitea, List errors) { + if (null == gitea) return 0; + + validateGitService(logger, basedir, project, gitea, errors); + + if (isBlank(gitea.getTargetCommitish())) { + gitea.setTargetCommitish("main"); + } + + return 1; } private static void validateDistributions(Logger logger, Path basedir, JReleaserModel model, Map distributions, List errors) { @@ -246,13 +275,13 @@ public final class JReleaserModelValidator { if (isBlank(tool.getCheckverUrl())) { tool.setCheckverUrl(commonScoop.getCheckverUrl()); if (isBlank(tool.getCheckverUrl())) { - tool.setCheckverUrl(model.getRelease().getLatestReleaseUrlFormat()); + tool.setCheckverUrl(model.getRelease().getGitService().getLatestReleaseUrlFormat()); } } if (isBlank(tool.getAutoupdateUrl())) { tool.setAutoupdateUrl(commonScoop.getAutoupdateUrl()); if (isBlank(tool.getAutoupdateUrl())) { - tool.setAutoupdateUrl(model.getRelease().getDownloadUrlFormat()); + tool.setAutoupdateUrl(model.getRelease().getGitService().getDownloadUrlFormat()); } } } diff --git a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Packagers.java b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Packagers.java index ae6d4556..4ebcb8ae 100644 --- a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Packagers.java +++ b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Packagers.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Plug.java b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Plug.java index b314e7dc..61d1ace2 100644 --- a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Plug.java +++ b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Plug.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Project.java b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Project.java index ec7472d9..cefa8b27 100644 --- a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Project.java +++ b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Project.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Release.java b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Release.java index 4e4c135b..d83cb1db 100644 --- a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Release.java +++ b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Release.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,277 +20,75 @@ package org.kordamp.jreleaser.model; import java.util.LinkedHashMap; import java.util.Map; -import static org.kordamp.jreleaser.util.StringUtils.isNotBlank; - /** * @author Andres Almiray * @since 0.1.0 */ public class Release extends AbstractDomain { - private RepoType repoType; - private String repoHost; - private String repoOwner; - private String repoName; - private String downloadUrlFormat; - private String releaseNotesUrlFormat; - private String latestReleaseUrlFormat; - private String issueTrackerUrlFormat; - private String authorization; - private String tagName; - private String targetCommitish = "main"; - private String releaseName; - private String body = ""; - private boolean draft; - private boolean prerelease; - private boolean overwrite; - private boolean allowUploadToExisting; - private String apiEndpoint; + private Boolean enabled; + private boolean enabledSet; + private Github github; + private Gitlab gitlab; + private Gitea gitea; void setAll(Release release) { - this.repoType = release.repoType; - this.repoHost = release.repoHost; - this.repoOwner = release.repoOwner; - this.repoName = release.repoName; - this.downloadUrlFormat = release.downloadUrlFormat; - this.releaseNotesUrlFormat = release.releaseNotesUrlFormat; - this.latestReleaseUrlFormat = release.latestReleaseUrlFormat; - this.issueTrackerUrlFormat = release.issueTrackerUrlFormat; - this.authorization = release.authorization; - this.tagName = release.tagName; - this.targetCommitish = release.targetCommitish; - this.releaseName = release.releaseName; - this.body = release.body; - this.draft = release.draft; - this.prerelease = release.prerelease; - this.overwrite = release.overwrite; - this.allowUploadToExisting = release.allowUploadToExisting; - this.apiEndpoint = release.apiEndpoint; + this.enabled = release.enabled; + this.enabledSet = release.enabledSet; + this.github = release.github; + this.gitlab = release.gitlab; + this.gitea = release.gitea; } - public RepoType getRepoType() { - return repoType; + public Boolean isEnabled() { + return enabled != null && enabled; } - public void setRepoType(RepoType repoType) { - this.repoType = repoType; + public void setEnabled(Boolean enabled) { + this.enabledSet = true; + this.enabled = enabled; } - public void setRepoType(String repoType) { - if (isNotBlank(repoType)) { - this.repoType = RepoType.valueOf(repoType.toUpperCase()); - } + public boolean isEnabledSet() { + return enabledSet; } - public String getRepoHost() { - return repoHost; + public Github getGithub() { + return github; } - public void setRepoHost(String repoHost) { - this.repoHost = repoHost; + public void setGithub(Github github) { + this.github = github; } - public String getRepoOwner() { - return repoOwner; + public Gitlab getGitlab() { + return gitlab; } - public void setRepoOwner(String repoOwner) { - this.repoOwner = repoOwner; + public void setGitlab(Gitlab gitlab) { + this.gitlab = gitlab; } - public String getRepoName() { - return repoName; + public Gitea getGitea() { + return gitea; } - public void setRepoName(String repoName) { - this.repoName = repoName; + public void setGitea(Gitea gitea) { + this.gitea = gitea; } - public String getDownloadUrlFormat() { - return downloadUrlFormat; - } - - public void setDownloadUrlFormat(String downloadUrlFormat) { - this.downloadUrlFormat = downloadUrlFormat; - } - - public String getReleaseNotesUrlFormat() { - return releaseNotesUrlFormat; - } - - public void setReleaseNotesUrlFormat(String releaseNotesUrlFormat) { - this.releaseNotesUrlFormat = releaseNotesUrlFormat; - } - - public String getLatestReleaseUrlFormat() { - return latestReleaseUrlFormat; - } - - public void setLatestReleaseUrlFormat(String latestReleaseUrlFormat) { - this.latestReleaseUrlFormat = latestReleaseUrlFormat; - } - - public String getIssueTrackerUrlFormat() { - return issueTrackerUrlFormat; - } - - public void setIssueTrackerUrlFormat(String issueTrackerUrlFormat) { - this.issueTrackerUrlFormat = issueTrackerUrlFormat; - } - - public String getAuthorization() { - return authorization; - } - - public void setAuthorization(String authorization) { - this.authorization = authorization; - } - - public String getTagName() { - return tagName; - } - - public void setTagName(String tagName) { - this.tagName = tagName; - } - - public String getTargetCommitish() { - return targetCommitish; - } - - public void setTargetCommitish(String targetCommitish) { - this.targetCommitish = targetCommitish; - } - - public String getReleaseName() { - return releaseName; - } - - public void setReleaseName(String releaseName) { - this.releaseName = releaseName; - } - - public String getBody() { - return body; - } - - public void setBody(String body) { - this.body = body; - } - - public boolean isDraft() { - return draft; - } - - public void setDraft(boolean draft) { - this.draft = draft; - } - - public boolean isPrerelease() { - return prerelease; - } - - public void setPrerelease(boolean prerelease) { - this.prerelease = prerelease; - } - - public boolean isOverwrite() { - return overwrite; - } - - public void setOverwrite(boolean overwrite) { - this.overwrite = overwrite; - } - - public boolean isAllowUploadToExisting() { - return allowUploadToExisting; - } - - public void setAllowUploadToExisting(boolean allowUploadToExisting) { - this.allowUploadToExisting = allowUploadToExisting; - } - - public String getApiEndpoint() { - return apiEndpoint; - } - - public void setApiEndpoint(String apiEndpoint) { - this.apiEndpoint = apiEndpoint; + public GitService getGitService() { + if (null != github) return github; + if (null != gitlab) return gitlab; + return gitea; } @Override public Map asMap() { Map map = new LinkedHashMap<>(); - map.put("repoHost", repoHost); - map.put("repoType", repoType); - map.put("repoOwner", repoOwner); - map.put("repoName", repoName); - map.put("downloadUrlFormat", downloadUrlFormat); - map.put("releaseNotesUrlFormat", releaseNotesUrlFormat); - map.put("latestReleaseUrlFormat", latestReleaseUrlFormat); - map.put("issueTrackerUrlFormat", issueTrackerUrlFormat); - map.put("authorization", authorization); - map.put("tagName", tagName); - map.put("targetCommitish", targetCommitish); - map.put("releaseName", releaseName); - map.put("body ", isNotBlank(body)); - map.put("draft", draft); - map.put("prerelease", prerelease); - map.put("overwrite", overwrite); - map.put("allowUploadToExisting", allowUploadToExisting); - map.put("apiEndpoint", apiEndpoint); + map.put("enabled", isEnabled()); + if (null != github) map.put("github", github); + if (null != gitlab) map.put("gitlab", gitlab); + if (null != gitea) map.put("gitea", gitea); return map; } - - public enum RepoType { - GITHUB("github.com", - "https://{{repoHost}}/{{repoOwner}}/{{repoName}}/releases/download/v{{projectVersion}}/{{artifactFileName}}", - "https://{{repoHost}}/{{repoOwner}}/{{repoName}}/releases/tag/v{{projectVersion}}", - "https://{{repoHost}}/{{repoOwner}}/{{repoName}}/releases/latest", - "https://{{repoHost}}/{{repoOwner}}/{{repoName}}/issues"); - /* - GITLAB("gitlab.com", - "https://{{repoHost}}/{{repoOwner}}/{{repoName}}/-/archive/v{{projectVersion}}/{{artifactFileName}}", - "https://{{repoHost}}/{{repoOwner}}/{{repoName}}/-/releases/v{{projectVersion}}", - "https://{{repoHost}}/{{repoOwner}}/{{repoName}}/-/releases/v{{projectVersion}}", - "https://{{repoHost}}/{{repoOwner}}/{{repoName}}/-/issues"); - */ - - private final String repoHost; - private final String downloadUrlFormat; - private final String releaseNotesUrlFormat; - private final String latestReleaseUrlFormat; - private final String issueTrackerUrlFormat; - - RepoType(String repoHost, - String downloadUrlFormat, - String releaseNotesUrlFormat, - String latestReleaseUrlFormat, - String issueTrackerUrlFormat) { - this.repoHost = repoHost; - this.downloadUrlFormat = downloadUrlFormat; - this.releaseNotesUrlFormat = releaseNotesUrlFormat; - this.latestReleaseUrlFormat = latestReleaseUrlFormat; - this.issueTrackerUrlFormat = issueTrackerUrlFormat; - } - - String repoHost() { - return this.repoHost; - } - - String downloadUrlFormat() { - return this.downloadUrlFormat; - } - - String releaseNotesUrlFormat() { - return this.releaseNotesUrlFormat; - } - - String latestReleaseUrlFormat() { - return this.latestReleaseUrlFormat; - } - - String issueTrackerUrlFormat() { - return this.issueTrackerUrlFormat; - } - } } diff --git a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Scoop.java b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Scoop.java index acea1cd7..cab43691 100644 --- a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Scoop.java +++ b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Scoop.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Slot.java b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Slot.java index 54e758f5..39bd99c5 100644 --- a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Slot.java +++ b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Slot.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Snap.java b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Snap.java index aea1a51e..0eb2fab6 100644 --- a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Snap.java +++ b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Snap.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Tool.java b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Tool.java index d7227568..26c5f29f 100644 --- a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Tool.java +++ b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/Tool.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/releaser/ReleaseException.java b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/releaser/ReleaseException.java index a57f4b0d..228c0e73 100644 --- a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/releaser/ReleaseException.java +++ b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/releaser/ReleaseException.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/releaser/Releaser.java b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/releaser/Releaser.java index 301cd4c7..8cd53527 100644 --- a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/releaser/Releaser.java +++ b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/releaser/Releaser.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/releaser/ReleaserBuilder.java b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/releaser/ReleaserBuilder.java index d40aa757..a7970261 100644 --- a/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/releaser/ReleaserBuilder.java +++ b/core/jreleaser-model/src/main/java/org/kordamp/jreleaser/model/releaser/ReleaserBuilder.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,6 +19,8 @@ package org.kordamp.jreleaser.model.releaser; import org.kordamp.jreleaser.model.JReleaserModel; +import java.nio.file.Path; + /** * @author Andres Almiray * @since 0.1.0 @@ -26,5 +28,5 @@ import org.kordamp.jreleaser.model.JReleaserModel; public interface ReleaserBuilder { R build(); - R buildFromModel(JReleaserModel model); + R buildFromModel(Path basedir, JReleaserModel model); } diff --git a/core/jreleaser-releaser/gradle.properties b/core/jreleaser-releaser/gradle.properties index 46430532..37d4f8cb 100644 --- a/core/jreleaser-releaser/gradle.properties +++ b/core/jreleaser-releaser/gradle.properties @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: Apache-2.0 # -# Copyright 2020 Andres Almiray. +# Copyright 2020-2021 Andres Almiray. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/core/jreleaser-releaser/jreleaser-releaser.gradle b/core/jreleaser-releaser/jreleaser-releaser.gradle index aaed5740..8acc36d3 100644 --- a/core/jreleaser-releaser/jreleaser-releaser.gradle +++ b/core/jreleaser-releaser/jreleaser-releaser.gradle @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,7 +15,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - dependencies { api project(':jreleaser-model') api project(':jreleaser-templates') diff --git a/core/jreleaser-releaser/src/main/java/org/kordamp/jreleaser/releaser/Releasers.java b/core/jreleaser-releaser/src/main/java/org/kordamp/jreleaser/releaser/Releasers.java index 440f4e1e..5f6592de 100644 --- a/core/jreleaser-releaser/src/main/java/org/kordamp/jreleaser/releaser/Releasers.java +++ b/core/jreleaser-releaser/src/main/java/org/kordamp/jreleaser/releaser/Releasers.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -28,11 +28,15 @@ import org.kordamp.jreleaser.util.Logger; */ public class Releasers { public static RB findReleaser(Logger logger, JReleaserModel model) { - switch (model.getRelease().getRepoType()) { - case GITHUB: - return (RB) GithubReleaser.builder(); - default: - throw new IllegalArgumentException("Unsupported releaser " + model.getRelease().getRepoType()); + if (null != model.getRelease().getGithub()) { + return (RB) GithubReleaser.builder(); } + // if(null != model.getRelease().getGitlab()) { + // return (RB) GitlabReleaser.builder(); + // } + // if(null != model.getRelease().getGitea()) { + // return (RB) GiteaReleaser.builder(); + // } + throw new IllegalArgumentException("No suitable git releaser has been configured"); } } diff --git a/core/jreleaser-templates/gradle.properties b/core/jreleaser-templates/gradle.properties index 8e4d16cb..dd790ffd 100644 --- a/core/jreleaser-templates/gradle.properties +++ b/core/jreleaser-templates/gradle.properties @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: Apache-2.0 # -# Copyright 2020 Andres Almiray. +# Copyright 2020-2021 Andres Almiray. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/core/jreleaser-templates/jreleaser-templates.gradle b/core/jreleaser-templates/jreleaser-templates.gradle index 7f66fd10..878280fd 100644 --- a/core/jreleaser-templates/jreleaser-templates.gradle +++ b/core/jreleaser-templates/jreleaser-templates.gradle @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,7 +15,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - dependencies { api project(':jreleaser-model') api "com.github.spullara.mustache.java:compiler:$mustacheVersion" diff --git a/core/jreleaser-templates/src/main/java/org/kordamp/jreleaser/templates/TemplateGenerationException.java b/core/jreleaser-templates/src/main/java/org/kordamp/jreleaser/templates/TemplateGenerationException.java index 35d3905a..3d51cdcc 100644 --- a/core/jreleaser-templates/src/main/java/org/kordamp/jreleaser/templates/TemplateGenerationException.java +++ b/core/jreleaser-templates/src/main/java/org/kordamp/jreleaser/templates/TemplateGenerationException.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/jreleaser-templates/src/main/java/org/kordamp/jreleaser/templates/TemplateGenerator.java b/core/jreleaser-templates/src/main/java/org/kordamp/jreleaser/templates/TemplateGenerator.java index 641e3686..36b8d41c 100644 --- a/core/jreleaser-templates/src/main/java/org/kordamp/jreleaser/templates/TemplateGenerator.java +++ b/core/jreleaser-templates/src/main/java/org/kordamp/jreleaser/templates/TemplateGenerator.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/jreleaser-templates/src/main/java/org/kordamp/jreleaser/templates/TemplateUtils.java b/core/jreleaser-templates/src/main/java/org/kordamp/jreleaser/templates/TemplateUtils.java index ac31e710..48f8ee9c 100644 --- a/core/jreleaser-templates/src/main/java/org/kordamp/jreleaser/templates/TemplateUtils.java +++ b/core/jreleaser-templates/src/main/java/org/kordamp/jreleaser/templates/TemplateUtils.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/jreleaser-tools/gradle.properties b/core/jreleaser-tools/gradle.properties index 6449a233..363a179a 100644 --- a/core/jreleaser-tools/gradle.properties +++ b/core/jreleaser-tools/gradle.properties @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: Apache-2.0 # -# Copyright 2020 Andres Almiray. +# Copyright 2020-2021 Andres Almiray. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/core/jreleaser-tools/jreleaser-tools.gradle b/core/jreleaser-tools/jreleaser-tools.gradle index 80d4ac1b..9d1909fd 100644 --- a/core/jreleaser-tools/jreleaser-tools.gradle +++ b/core/jreleaser-tools/jreleaser-tools.gradle @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,7 +15,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - dependencies { api project(':jreleaser-model') api project(':jreleaser-templates') diff --git a/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/AbstractToolProcessor.java b/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/AbstractToolProcessor.java index 4646d03c..d8524636 100644 --- a/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/AbstractToolProcessor.java +++ b/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/AbstractToolProcessor.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -182,9 +182,9 @@ abstract class AbstractToolProcessor implements ToolProcessor } protected void fillReleaseProperties(Map context, Release release) { - context.put(Constants.KEY_REPO_HOST, release.getRepoHost()); - context.put(Constants.KEY_REPO_OWNER, release.getRepoOwner()); - context.put(Constants.KEY_REPO_NAME, release.getRepoName()); + context.put(Constants.KEY_REPO_HOST, release.getGitService().getRepoHost()); + context.put(Constants.KEY_REPO_OWNER, release.getGitService().getRepoOwner()); + context.put(Constants.KEY_REPO_NAME, release.getGitService().getRepoName()); } protected void fillDistributionProperties(Map context, Distribution distribution, Release release) { @@ -192,9 +192,9 @@ abstract class AbstractToolProcessor implements ToolProcessor context.put(Constants.KEY_DISTRIBUTION_EXECUTABLE, distribution.getExecutable()); context.put(Constants.KEY_DISTRIBUTION_TAGS_BY_SPACE, String.join(" ", distribution.getTags())); context.put(Constants.KEY_DISTRIBUTION_TAGS_BY_COMMA, String.join(",", distribution.getTags())); - context.put(Constants.KEY_DISTRIBUTION_RELEASE_NOTES, applyTemplate(new StringReader(release.getReleaseNotesUrlFormat()), context)); - context.put(Constants.KEY_DISTRIBUTION_ISSUE_TRACKER, applyTemplate(new StringReader(release.getIssueTrackerUrlFormat()), context)); - context.put(Constants.KEY_DISTRIBUTION_LATEST_RELEASE, applyTemplate(new StringReader(release.getLatestReleaseUrlFormat()), context)); + context.put(Constants.KEY_DISTRIBUTION_RELEASE_NOTES, applyTemplate(new StringReader(release.getGitService().getReleaseNotesUrlFormat()), context)); + context.put(Constants.KEY_DISTRIBUTION_ISSUE_TRACKER, applyTemplate(new StringReader(release.getGitService().getIssueTrackerUrlFormat()), context)); + context.put(Constants.KEY_DISTRIBUTION_LATEST_RELEASE, applyTemplate(new StringReader(release.getGitService().getLatestReleaseUrlFormat()), context)); context.putAll(distribution.getExtraProperties()); } @@ -247,7 +247,7 @@ abstract class AbstractToolProcessor implements ToolProcessor context.put("artifact" + classifier + "Hash", artifact.getHash()); Map newContext = new LinkedHashMap<>(context); newContext.put("artifactFileName", artifactFileName); - String artifactUrl = applyTemplate(new StringReader(model.getRelease().getDownloadUrlFormat()), newContext, "downloadUrl"); + String artifactUrl = applyTemplate(new StringReader(model.getRelease().getGitService().getDownloadUrlFormat()), newContext, "downloadUrl"); context.put("artifact" + classifier + "Url", artifactUrl); if (0 == i) { diff --git a/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/BrewToolProcessor.java b/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/BrewToolProcessor.java index 150f3c64..18f306dd 100644 --- a/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/BrewToolProcessor.java +++ b/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/BrewToolProcessor.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/ChocolateyToolProcessor.java b/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/ChocolateyToolProcessor.java index d276d28b..37e9b185 100644 --- a/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/ChocolateyToolProcessor.java +++ b/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/ChocolateyToolProcessor.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/Constants.java b/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/Constants.java index ccc7d351..13a094ab 100644 --- a/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/Constants.java +++ b/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/Constants.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/DistributionProcessor.java b/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/DistributionProcessor.java index 30165787..835699d6 100644 --- a/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/DistributionProcessor.java +++ b/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/DistributionProcessor.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/ProcessorUtils.java b/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/ProcessorUtils.java index 222b592f..c480e90b 100644 --- a/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/ProcessorUtils.java +++ b/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/ProcessorUtils.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -77,7 +77,7 @@ final class ProcessorUtils { context.put("artifact" + classifier + "Hash", artifact.getHash()); Map newContext = new LinkedHashMap<>(context); newContext.put("artifactFileName", artifactFileName); - String artifactUrl = applyTemplate(new StringReader(model.getRelease().getDownloadUrlFormat()), newContext, "downloadUrl"); + String artifactUrl = applyTemplate(new StringReader(model.getRelease().getGitService().getDownloadUrlFormat()), newContext, "downloadUrl"); context.put("artifact" + classifier + "Url", artifactUrl); if (0 == i) { diff --git a/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/ScoopToolProcessor.java b/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/ScoopToolProcessor.java index 5b94a152..b2c4a0e6 100644 --- a/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/ScoopToolProcessor.java +++ b/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/ScoopToolProcessor.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/SnapToolProcessor.java b/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/SnapToolProcessor.java index e299468e..6f8d5a01 100644 --- a/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/SnapToolProcessor.java +++ b/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/SnapToolProcessor.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/ToolProcessingException.java b/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/ToolProcessingException.java index 67a25fa0..69ccb614 100644 --- a/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/ToolProcessingException.java +++ b/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/ToolProcessingException.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/ToolProcessor.java b/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/ToolProcessor.java index 4a9bc197..1503b46e 100644 --- a/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/ToolProcessor.java +++ b/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/ToolProcessor.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/ToolProcessors.java b/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/ToolProcessors.java index 30660422..86eb153a 100644 --- a/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/ToolProcessors.java +++ b/core/jreleaser-tools/src/main/java/org/kordamp/jreleaser/tools/ToolProcessors.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/jreleaser-utils/gradle.properties b/core/jreleaser-utils/gradle.properties index 3616b971..41d7bfb9 100644 --- a/core/jreleaser-utils/gradle.properties +++ b/core/jreleaser-utils/gradle.properties @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: Apache-2.0 # -# Copyright 2020 Andres Almiray. +# Copyright 2020-2021 Andres Almiray. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/core/jreleaser-utils/jreleaser-utils.gradle b/core/jreleaser-utils/jreleaser-utils.gradle index 57838687..1a4756cf 100644 --- a/core/jreleaser-utils/jreleaser-utils.gradle +++ b/core/jreleaser-utils/jreleaser-utils.gradle @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,7 +15,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - dependencies { api('kr.motd.maven:os-maven-plugin:1.6.2') { transitive = false } } \ No newline at end of file diff --git a/core/jreleaser-utils/src/main/java/org/kordamp/jreleaser/util/FileUtils.java b/core/jreleaser-utils/src/main/java/org/kordamp/jreleaser/util/FileUtils.java index c30c275d..6399a9bc 100644 --- a/core/jreleaser-utils/src/main/java/org/kordamp/jreleaser/util/FileUtils.java +++ b/core/jreleaser-utils/src/main/java/org/kordamp/jreleaser/util/FileUtils.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/jreleaser-utils/src/main/java/org/kordamp/jreleaser/util/Logger.java b/core/jreleaser-utils/src/main/java/org/kordamp/jreleaser/util/Logger.java index 683a7c2a..ea530558 100644 --- a/core/jreleaser-utils/src/main/java/org/kordamp/jreleaser/util/Logger.java +++ b/core/jreleaser-utils/src/main/java/org/kordamp/jreleaser/util/Logger.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/jreleaser-utils/src/main/java/org/kordamp/jreleaser/util/OsUtils.java b/core/jreleaser-utils/src/main/java/org/kordamp/jreleaser/util/OsUtils.java index 5093e6cb..a9e61263 100644 --- a/core/jreleaser-utils/src/main/java/org/kordamp/jreleaser/util/OsUtils.java +++ b/core/jreleaser-utils/src/main/java/org/kordamp/jreleaser/util/OsUtils.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/core/jreleaser-utils/src/main/java/org/kordamp/jreleaser/util/StringUtils.java b/core/jreleaser-utils/src/main/java/org/kordamp/jreleaser/util/StringUtils.java index 5127df1e..5d4d826d 100644 --- a/core/jreleaser-utils/src/main/java/org/kordamp/jreleaser/util/StringUtils.java +++ b/core/jreleaser-utils/src/main/java/org/kordamp/jreleaser/util/StringUtils.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/docs/guide/guide.gradle b/docs/guide/guide.gradle index 41b97125..e509eea2 100644 --- a/docs/guide/guide.gradle +++ b/docs/guide/guide.gradle @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/gradle.properties b/gradle.properties index 7a77aa68..afb2f45a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: Apache-2.0 # -# Copyright 2020 Andres Almiray. +# Copyright 2020-2021 Andres Almiray. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -21,14 +21,15 @@ version = 0.1.0-SNAPSHOT sourceCompatibility = 1.8 targetCompatibility = 1.8 -kordampPluginVersion = 0.42.0 -kordampBuildVersion = 2.1.0 +kordampPluginVersion = 0.43.0 +kordampBuildVersion = 2.2.0 gitPluginVersion = 3.0.0 checksumPluginVersion = 1.1.0 shadowPluginVersion = 6.1.0 asmVersion = 8.0.1 jacksonVersion = 2.11.3 +jgitVersion = 5.10.0.202012080955-r jipsyVersion = 0.6.0 junitVersion = 5.7.0 hamcrestVersion = 2.2 diff --git a/plugins/jreleaser-gradle-plugin/gradle.properties b/plugins/jreleaser-gradle-plugin/gradle.properties index 34906283..33164d12 100644 --- a/plugins/jreleaser-gradle-plugin/gradle.properties +++ b/plugins/jreleaser-gradle-plugin/gradle.properties @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: Apache-2.0 # -# Copyright 2020 Andres Almiray. +# Copyright 2020-2021 Andres Almiray. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/jreleaser-gradle-plugin.gradle b/plugins/jreleaser-gradle-plugin/jreleaser-gradle-plugin.gradle index 0bec90c2..0a1e720f 100644 --- a/plugins/jreleaser-gradle-plugin/jreleaser-gradle-plugin.gradle +++ b/plugins/jreleaser-gradle-plugin/jreleaser-gradle-plugin.gradle @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,7 +15,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - plugins { id 'groovy' id 'org.kordamp.gradle.groovy-project' diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/Banner.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/Banner.groovy index ae46a0f7..2d03c868 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/Banner.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/Banner.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/JReleaserExtension.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/JReleaserExtension.groovy index edfa7401..04a3f843 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/JReleaserExtension.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/JReleaserExtension.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/JReleaserPlugin.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/JReleaserPlugin.groovy index 8322be99..1780f2d1 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/JReleaserPlugin.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/JReleaserPlugin.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Artifact.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Artifact.groovy index c55333da..d7f62376 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Artifact.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Artifact.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Brew.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Brew.groovy index 953c3514..bbf200eb 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Brew.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Brew.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/BrewPackager.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/BrewPackager.groovy index 23df3c45..2e286f10 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/BrewPackager.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/BrewPackager.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Changelog.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Changelog.groovy new file mode 100644 index 00000000..e5e6baf8 --- /dev/null +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Changelog.groovy @@ -0,0 +1,38 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright 2020-2021 Andres Almiray. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.kordamp.jreleaser.gradle.plugin.dsl + +import groovy.transform.CompileStatic +import org.gradle.api.file.RegularFileProperty +import org.gradle.api.provider.Property + +/** + * + * @author Andres Almiray + * @since 0.1.0 + */ +@CompileStatic +interface Changelog { + Property getSort() + + Property getEnabled() + + RegularFileProperty getExternal() + + void setSort(String sort) +} \ No newline at end of file diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Chocolatey.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Chocolatey.groovy index b3580d74..a52f84da 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Chocolatey.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Chocolatey.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/ChocolateyPackager.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/ChocolateyPackager.groovy index 1101e69d..c5e2de1f 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/ChocolateyPackager.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/ChocolateyPackager.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Distribution.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Distribution.groovy index 0d6a9b05..3a241f31 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Distribution.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Distribution.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/ExtraProperties.java b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/ExtraProperties.java index dfdfa20b..8f127cd5 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/ExtraProperties.java +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/ExtraProperties.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/GitService.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/GitService.groovy new file mode 100644 index 00000000..e478adad --- /dev/null +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/GitService.groovy @@ -0,0 +1,60 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright 2020-2021 Andres Almiray. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.kordamp.jreleaser.gradle.plugin.dsl + +import groovy.transform.CompileStatic +import org.gradle.api.Action +import org.gradle.api.provider.Property + +/** + * + * @author Andres Almiray + * @since 0.1.0 + */ +@CompileStatic +interface GitService { + Property getRepoHost() + + Property getRepoOwner() + + Property getRepoName() + + Property getDownloadUrlFormat() + + Property getReleaseNotesUrlFormat() + + Property getLatestReleaseUrlFormat() + + Property getIssueTrackerUrlFormat() + + Property getAuthorization() + + Property getTagName() + + Property getReleaseName() + + Property getApiEndpoint() + + Property getOverwrite() + + Property getAllowUploadToExisting() + + Changelog getChangelog() + + void changelog(Action action) +} \ No newline at end of file diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Gitea.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Gitea.groovy new file mode 100644 index 00000000..70f14ee7 --- /dev/null +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Gitea.groovy @@ -0,0 +1,35 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright 2020-2021 Andres Almiray. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.kordamp.jreleaser.gradle.plugin.dsl + +import groovy.transform.CompileStatic +import org.gradle.api.provider.Property + +/** + * + * @author Andres Almiray + * @since 0.1.0 + */ +@CompileStatic +interface Gitea extends GitService { + Property getTargetCommitish() + + Property getDraft() + + Property getPrerelease() +} \ No newline at end of file diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Github.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Github.groovy new file mode 100644 index 00000000..18cc2202 --- /dev/null +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Github.groovy @@ -0,0 +1,35 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright 2020-2021 Andres Almiray. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.kordamp.jreleaser.gradle.plugin.dsl + +import groovy.transform.CompileStatic +import org.gradle.api.provider.Property + +/** + * + * @author Andres Almiray + * @since 0.1.0 + */ +@CompileStatic +interface Github extends GitService { + Property getTargetCommitish() + + Property getDraft() + + Property getPrerelease() +} \ No newline at end of file diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Gitlab.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Gitlab.groovy new file mode 100644 index 00000000..44881b7f --- /dev/null +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Gitlab.groovy @@ -0,0 +1,31 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright 2020-2021 Andres Almiray. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.kordamp.jreleaser.gradle.plugin.dsl + +import groovy.transform.CompileStatic +import org.gradle.api.provider.Property + +/** + * + * @author Andres Almiray + * @since 0.1.0 + */ +@CompileStatic +interface Gitlab extends GitService { + Property getRef() +} \ No newline at end of file diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/PackagerTool.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/PackagerTool.groovy index 650b4a33..d86aafe4 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/PackagerTool.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/PackagerTool.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Packagers.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Packagers.groovy index 16321c3f..25b0106f 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Packagers.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Packagers.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Plug.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Plug.groovy index c33bec72..3083fe33 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Plug.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Plug.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Project.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Project.groovy index a82adb9a..6c18d81e 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Project.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Project.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Release.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Release.groovy index b527ef91..db451369 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Release.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Release.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,6 +18,7 @@ package org.kordamp.jreleaser.gradle.plugin.dsl import groovy.transform.CompileStatic +import org.gradle.api.Action import org.gradle.api.provider.Property /** @@ -27,41 +28,17 @@ import org.gradle.api.provider.Property */ @CompileStatic interface Release { - Property getRepoType() + Property getEnabled() - Property getRepoHost() + Github getGithub() - Property getRepoOwner() + Gitlab getGitlab() - Property getRepoName() + Gitea getGitea() - Property getDownloadUrlFormat() + void github(Action action) - Property getReleaseNotesUrlFormat() + void gitlab(Action action) - Property getLatestReleaseUrlFormat() - - Property getIssueTrackerUrlFormat() - - void setRepoType(String repoType) - - Property getAuthorization() - - Property getTagName() - - Property getTargetCommitish() - - Property getReleaseName() - - Property getBody() - - Property getApiEndpoint() - - Property getDraft() - - Property getPrerelease() - - Property getOverwrite() - - Property getAllowUploadToExisting() + void gitea(Action action) } \ No newline at end of file diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Scoop.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Scoop.groovy index 4bdc56ff..5d245506 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Scoop.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Scoop.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/ScoopPackager.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/ScoopPackager.groovy index c9ceeab7..732288bf 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/ScoopPackager.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/ScoopPackager.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Slot.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Slot.groovy index afb59c6a..df10e0f8 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Slot.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Slot.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Snap.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Snap.groovy index 5552576b..a7aab643 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Snap.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Snap.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/SnapPackager.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/SnapPackager.groovy index d9b7247b..4ed68f6f 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/SnapPackager.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/SnapPackager.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Tool.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Tool.groovy index 2fb250e5..865f6523 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Tool.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/dsl/Tool.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/JReleaserAllProjectsEvaluatedListener.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/JReleaserAllProjectsEvaluatedListener.groovy index 12e8985c..b3193215 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/JReleaserAllProjectsEvaluatedListener.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/JReleaserAllProjectsEvaluatedListener.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/JReleaserExtensionImpl.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/JReleaserExtensionImpl.groovy index 3fbe674a..1e89b33b 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/JReleaserExtensionImpl.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/JReleaserExtensionImpl.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/JReleaserLoggerAdapter.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/JReleaserLoggerAdapter.groovy index 14b5ec3f..2d610b8f 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/JReleaserLoggerAdapter.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/JReleaserLoggerAdapter.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/JReleaserProjectConfigurer.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/JReleaserProjectConfigurer.groovy index a51aec63..80c5e74b 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/JReleaserProjectConfigurer.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/JReleaserProjectConfigurer.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/KordampJReleaserAdapter.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/KordampJReleaserAdapter.groovy index 99c7d1dc..2f11614a 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/KordampJReleaserAdapter.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/KordampJReleaserAdapter.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/AbstractGitService.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/AbstractGitService.groovy new file mode 100644 index 00000000..d6339af4 --- /dev/null +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/AbstractGitService.groovy @@ -0,0 +1,100 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright 2020-2021 Andres Almiray. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.kordamp.jreleaser.gradle.plugin.internal.dsl + +import groovy.transform.CompileStatic +import org.gradle.api.internal.provider.Providers +import org.gradle.api.model.ObjectFactory +import org.gradle.api.provider.Property +import org.gradle.api.tasks.Internal +import org.kordamp.jreleaser.gradle.plugin.dsl.GitService + +import javax.inject.Inject + +/** + * + * @author Andres Almiray + * @since 0.1.0 + */ +@CompileStatic +abstract class AbstractGitService implements GitService { + final Property repoHost + final Property repoOwner + final Property repoName + final Property downloadUrlFormat + final Property releaseNotesUrlFormat + final Property latestReleaseUrlFormat + final Property issueTrackerUrlFormat + final Property authorization + final Property tagName + final Property releaseName + final Property apiEndpoint + final Property overwrite + final Property allowUploadToExisting + + @Inject + AbstractGitService(ObjectFactory objects) { + repoHost = objects.property(String).convention(Providers.notDefined()) + repoOwner = objects.property(String).convention(Providers.notDefined()) + repoName = objects.property(String).convention(Providers.notDefined()) + downloadUrlFormat = objects.property(String).convention(Providers.notDefined()) + releaseNotesUrlFormat = objects.property(String).convention(Providers.notDefined()) + latestReleaseUrlFormat = objects.property(String).convention(Providers.notDefined()) + issueTrackerUrlFormat = objects.property(String).convention(Providers.notDefined()) + + authorization = objects.property(String).convention(Providers.notDefined()) + tagName = objects.property(String).convention(Providers.notDefined()) + releaseName = objects.property(String).convention(Providers.notDefined()) + apiEndpoint = objects.property(String).convention(Providers.notDefined()) + overwrite = objects.property(Boolean).convention(false) + allowUploadToExisting = objects.property(Boolean).convention(false) + } + + @Internal + boolean isSet() { + repoHost.present || + repoOwner.present || + repoName.present || + downloadUrlFormat.present || + releaseNotesUrlFormat.present || + latestReleaseUrlFormat.present || + issueTrackerUrlFormat.present || + authorization.present || + tagName.present || + releaseName.present || + apiEndpoint.present || + overwrite.present || + allowUploadToExisting.present + } + + protected void toModel(org.kordamp.jreleaser.model.GitService service) { + service.repoHost = repoHost.orNull + service.repoOwner = repoOwner.orNull + service.repoName = repoName.orNull + service.downloadUrlFormat = downloadUrlFormat.orNull + service.releaseNotesUrlFormat = releaseNotesUrlFormat.orNull + service.latestReleaseUrlFormat = latestReleaseUrlFormat.orNull + service.issueTrackerUrlFormat = issueTrackerUrlFormat.orNull + service.authorization = authorization.orNull + service.tagName = tagName.orNull + service.releaseName = releaseName.orNull + service.overwrite = overwrite.get() + service.allowUploadToExisting = allowUploadToExisting.get() + service.apiEndpoint = apiEndpoint.orNull + } +} diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/AbstractPackagerTool.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/AbstractPackagerTool.groovy index c900b9c9..e4c9c5f3 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/AbstractPackagerTool.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/AbstractPackagerTool.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/AbstractTool.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/AbstractTool.groovy index eaf54fed..19914ae1 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/AbstractTool.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/AbstractTool.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/ArtifactImpl.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/ArtifactImpl.groovy index ec02547f..cd2e8af4 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/ArtifactImpl.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/ArtifactImpl.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/BrewImpl.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/BrewImpl.groovy index 688c1097..4a027da6 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/BrewImpl.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/BrewImpl.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,6 +23,7 @@ import org.gradle.api.internal.provider.Providers import org.gradle.api.model.ObjectFactory import org.gradle.api.provider.MapProperty import org.gradle.api.provider.Provider +import org.gradle.api.tasks.Internal import org.kordamp.jreleaser.gradle.plugin.dsl.Brew import javax.inject.Inject @@ -62,6 +63,7 @@ class BrewImpl extends AbstractTool implements Brew { } @Override + @Internal boolean isSet() { return super.isSet() || dependencies.present } diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/BrewPackagerImpl.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/BrewPackagerImpl.groovy index 226857e7..464b1336 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/BrewPackagerImpl.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/BrewPackagerImpl.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/ChangelogImpl.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/ChangelogImpl.groovy new file mode 100644 index 00000000..7decc339 --- /dev/null +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/ChangelogImpl.groovy @@ -0,0 +1,66 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright 2020-2021 Andres Almiray. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.kordamp.jreleaser.gradle.plugin.internal.dsl + +import groovy.transform.CompileStatic +import org.gradle.api.file.RegularFileProperty +import org.gradle.api.internal.provider.Providers +import org.gradle.api.model.ObjectFactory +import org.gradle.api.provider.Property +import org.gradle.api.tasks.Internal +import org.kordamp.jreleaser.gradle.plugin.dsl.Changelog + +import javax.inject.Inject + +/** + * + * @author Andres Almiray + * @since 0.1.0 + */ +@CompileStatic +class ChangelogImpl implements Changelog { + final Property enabled + final Property sort + final RegularFileProperty external + + @Inject + ChangelogImpl(ObjectFactory objects) { + enabled = objects.property(Boolean).convention(Providers.notDefined()) + sort = objects.property(org.kordamp.jreleaser.model.Changelog.Sort) + .convention(org.kordamp.jreleaser.model.Changelog.Sort.ASC) + external = objects.fileProperty().convention(Providers.notDefined()) + } + + @Internal + boolean isSet() { + enabled.present + } + + @Override + void setSort(String sort) { + this.sort.set(org.kordamp.jreleaser.model.Changelog.Sort.valueOf(sort.toUpperCase())) + } + + org.kordamp.jreleaser.model.Changelog toModel() { + org.kordamp.jreleaser.model.Changelog changelog = new org.kordamp.jreleaser.model.Changelog() + if (enabled.present) changelog.enabled = enabled.get() + if (sort.present) changelog.sort = sort.get() + if (external.present) changelog.external = external.getAsFile().get() + changelog + } +} diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/ChocolateyImpl.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/ChocolateyImpl.groovy index e66fefd4..c7ff73a7 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/ChocolateyImpl.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/ChocolateyImpl.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/ChocolateyPackagerImpl.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/ChocolateyPackagerImpl.groovy index d9b24d56..bc0abf19 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/ChocolateyPackagerImpl.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/ChocolateyPackagerImpl.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/DistributionImpl.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/DistributionImpl.groovy index dbb4b852..c223731a 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/DistributionImpl.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/DistributionImpl.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/GiteaImpl.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/GiteaImpl.groovy new file mode 100644 index 00000000..e2891c5b --- /dev/null +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/GiteaImpl.groovy @@ -0,0 +1,75 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright 2020-2021 Andres Almiray. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.kordamp.jreleaser.gradle.plugin.internal.dsl + +import groovy.transform.CompileStatic +import org.gradle.api.Action +import org.gradle.api.internal.provider.Providers +import org.gradle.api.model.ObjectFactory +import org.gradle.api.provider.Property +import org.gradle.api.tasks.Internal +import org.kordamp.jreleaser.gradle.plugin.dsl.Changelog +import org.kordamp.jreleaser.gradle.plugin.dsl.Gitea + +import javax.inject.Inject + +/** + * + * @author Andres Almiray + * @since 0.1.0 + */ +@CompileStatic +class GiteaImpl extends AbstractGitService implements Gitea { + final Property targetCommitish + final Property draft + final Property prerelease + final ChangelogImpl changelog + + @Inject + GiteaImpl(ObjectFactory objects) { + super(objects) + targetCommitish = objects.property(String).convention(Providers.notDefined()) + draft = objects.property(Boolean).convention(false) + prerelease = objects.property(Boolean).convention(false) + changelog = objects.newInstance(ChangelogImpl, objects) + } + + @Override + void changelog(Action action) { + action.execute(changelog) + } + + @Internal + boolean isSet() { + super.set || + targetCommitish.present || + draft.present || + prerelease.present || + changelog.set + } + + org.kordamp.jreleaser.model.Gitea toModel() { + org.kordamp.jreleaser.model.Gitea service = new org.kordamp.jreleaser.model.Gitea() + toModel(service) + if (targetCommitish.present) service.targetCommitish = targetCommitish.get() + if (draft.present) service.draft = draft.get() + if (prerelease.present) service.prerelease = prerelease.get() + if (changelog.set) service.changelog = changelog.toModel() + service + } +} diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/GithubImpl.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/GithubImpl.groovy new file mode 100644 index 00000000..5dae4dce --- /dev/null +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/GithubImpl.groovy @@ -0,0 +1,75 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright 2020-2021 Andres Almiray. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.kordamp.jreleaser.gradle.plugin.internal.dsl + +import groovy.transform.CompileStatic +import org.gradle.api.Action +import org.gradle.api.internal.provider.Providers +import org.gradle.api.model.ObjectFactory +import org.gradle.api.provider.Property +import org.gradle.api.tasks.Internal +import org.kordamp.jreleaser.gradle.plugin.dsl.Changelog +import org.kordamp.jreleaser.gradle.plugin.dsl.Github + +import javax.inject.Inject + +/** + * + * @author Andres Almiray + * @since 0.1.0 + */ +@CompileStatic +class GithubImpl extends AbstractGitService implements Github { + final Property targetCommitish + final Property draft + final Property prerelease + final ChangelogImpl changelog + + @Inject + GithubImpl(ObjectFactory objects) { + super(objects) + targetCommitish = objects.property(String).convention(Providers.notDefined()) + draft = objects.property(Boolean).convention(false) + prerelease = objects.property(Boolean).convention(false) + changelog = objects.newInstance(ChangelogImpl, objects) + } + + @Override + void changelog(Action action) { + action.execute(changelog) + } + + @Internal + boolean isSet() { + super.set || + targetCommitish.present || + draft.present || + prerelease.present || + changelog.set + } + + org.kordamp.jreleaser.model.Github toModel() { + org.kordamp.jreleaser.model.Github service = new org.kordamp.jreleaser.model.Github() + toModel(service) + if (targetCommitish.present) service.targetCommitish = targetCommitish.get() + if (draft.present) service.draft = draft.get() + if (prerelease.present) service.prerelease = prerelease.get() + if (changelog.set) service.changelog = changelog.toModel() + service + } +} diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/GitlabImpl.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/GitlabImpl.groovy new file mode 100644 index 00000000..e2f8d488 --- /dev/null +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/GitlabImpl.groovy @@ -0,0 +1,67 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright 2020-2021 Andres Almiray. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.kordamp.jreleaser.gradle.plugin.internal.dsl + +import groovy.transform.CompileStatic +import org.gradle.api.Action +import org.gradle.api.internal.provider.Providers +import org.gradle.api.model.ObjectFactory +import org.gradle.api.provider.Property +import org.gradle.api.tasks.Internal +import org.kordamp.jreleaser.gradle.plugin.dsl.Changelog +import org.kordamp.jreleaser.gradle.plugin.dsl.Gitlab + +import javax.inject.Inject + +/** + * + * @author Andres Almiray + * @since 0.1.0 + */ +@CompileStatic +class GitlabImpl extends AbstractGitService implements Gitlab { + final Property ref + final ChangelogImpl changelog + + @Inject + GitlabImpl(ObjectFactory objects) { + super(objects) + ref = objects.property(String).convention(Providers.notDefined()) + changelog = objects.newInstance(ChangelogImpl, objects) + } + + @Override + void changelog(Action action) { + action.execute(changelog) + } + + @Internal + boolean isSet() { + super.set || + ref.present || + changelog.set + } + + org.kordamp.jreleaser.model.Gitlab toModel() { + org.kordamp.jreleaser.model.Gitlab service = new org.kordamp.jreleaser.model.Gitlab() + toModel(service) + if (ref.present) service.ref = ref.get() + if (changelog.set) service.changelog = changelog.toModel() + service + } +} diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/PackagersImpl.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/PackagersImpl.groovy index 166b8207..01b96036 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/PackagersImpl.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/PackagersImpl.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/PlugImpl.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/PlugImpl.groovy index 001efac7..aae67a7e 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/PlugImpl.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/PlugImpl.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/ProjectImpl.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/ProjectImpl.groovy index b8f72cca..225a5505 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/ProjectImpl.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/ProjectImpl.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/ReleaseImpl.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/ReleaseImpl.groovy index d061a9e6..16b642f5 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/ReleaseImpl.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/ReleaseImpl.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,9 +18,13 @@ package org.kordamp.jreleaser.gradle.plugin.internal.dsl import groovy.transform.CompileStatic +import org.gradle.api.Action import org.gradle.api.internal.provider.Providers import org.gradle.api.model.ObjectFactory import org.gradle.api.provider.Property +import org.kordamp.jreleaser.gradle.plugin.dsl.Gitea +import org.kordamp.jreleaser.gradle.plugin.dsl.Github +import org.kordamp.jreleaser.gradle.plugin.dsl.Gitlab import org.kordamp.jreleaser.gradle.plugin.dsl.Release import javax.inject.Inject @@ -32,74 +36,40 @@ import javax.inject.Inject */ @CompileStatic class ReleaseImpl implements Release { - final Property repoHost - final Property repoOwner - final Property repoName - final Property downloadUrlFormat - final Property releaseNotesUrlFormat - final Property latestReleaseUrlFormat - final Property issueTrackerUrlFormat - final Property repoType - final Property authorization - final Property tagName - final Property targetCommitish - final Property releaseName - final Property body - final Property apiEndpoint - final Property draft - final Property prerelease - final Property overwrite - final Property allowUploadToExisting + final GithubImpl github + final GitlabImpl gitlab + final GiteaImpl gitea + final Property enabled @Inject ReleaseImpl(ObjectFactory objects) { - repoHost = objects.property(String).convention(Providers.notDefined()) - repoOwner = objects.property(String).convention(Providers.notDefined()) - repoName = objects.property(String).convention(Providers.notDefined()) - downloadUrlFormat = objects.property(String).convention(Providers.notDefined()) - releaseNotesUrlFormat = objects.property(String).convention(Providers.notDefined()) - latestReleaseUrlFormat = objects.property(String).convention(Providers.notDefined()) - issueTrackerUrlFormat = objects.property(String).convention(Providers.notDefined()) - repoType = objects.property(org.kordamp.jreleaser.model.Release.RepoType) - .convention(org.kordamp.jreleaser.model.Release.RepoType.GITHUB) - - authorization = objects.property(String).convention(Providers.notDefined()) - tagName = objects.property(String).convention(Providers.notDefined()) - targetCommitish = objects.property(String).convention(Providers.notDefined()) - releaseName = objects.property(String).convention(Providers.notDefined()) - body = objects.property(String).convention(Providers.notDefined()) - apiEndpoint = objects.property(String).convention(Providers.notDefined()) - draft = objects.property(Boolean).convention(false) - prerelease = objects.property(Boolean).convention(false) - overwrite = objects.property(Boolean).convention(false) - allowUploadToExisting = objects.property(Boolean).convention(false) + enabled = objects.property(Boolean).convention(Providers.notDefined()) + github = objects.newInstance(GithubImpl, objects) + gitlab = objects.newInstance(GitlabImpl, objects) + gitea = objects.newInstance(GiteaImpl, objects) } @Override - void setRepoType(String repoType) { - this.repoType.set(org.kordamp.jreleaser.model.Release.RepoType.valueOf(repoType.toUpperCase())) + void github(Action action) { + action.execute(github) + } + + @Override + void gitlab(Action action) { + action.execute(gitlab) + } + + @Override + void gitea(Action action) { + action.execute(gitea) } org.kordamp.jreleaser.model.Release toModel() { org.kordamp.jreleaser.model.Release release = new org.kordamp.jreleaser.model.Release() - release.repoHost = repoHost.orNull - release.repoOwner = repoOwner.orNull - release.repoName = repoName.orNull - release.downloadUrlFormat = downloadUrlFormat.orNull - release.releaseNotesUrlFormat = releaseNotesUrlFormat.orNull - release.latestReleaseUrlFormat = latestReleaseUrlFormat.orNull - release.issueTrackerUrlFormat = issueTrackerUrlFormat.orNull - release.repoType = repoType.get() - release.authorization = authorization.orNull - release.tagName = tagName.orNull - release.targetCommitish = targetCommitish.orNull - release.releaseName = releaseName.orNull - release.body = body.orNull - release.draft = draft.get() - release.prerelease = prerelease.get() - release.overwrite = overwrite.get() - release.allowUploadToExisting = allowUploadToExisting.get() - release.apiEndpoint = apiEndpoint.orNull + if (enabled.present) release.enabled = enabled.get() + if (github.set) release.github = github.toModel() + if (gitlab.set) release.gitlab = gitlab.toModel() + if (gitea.set) release.gitea = gitea.toModel() release } } diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/ScoopImpl.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/ScoopImpl.groovy index 85235491..056e1f20 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/ScoopImpl.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/ScoopImpl.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,6 +23,7 @@ import org.gradle.api.internal.provider.Providers import org.gradle.api.model.ObjectFactory import org.gradle.api.provider.Property import org.gradle.api.provider.Provider +import org.gradle.api.tasks.Internal import org.kordamp.jreleaser.gradle.plugin.dsl.Scoop import javax.inject.Inject @@ -48,6 +49,7 @@ class ScoopImpl extends AbstractTool implements Scoop { protected String toolName() { 'scoop' } @Override + @Internal boolean isSet() { return super.isSet() || checkverUrl.present || diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/ScoopPackagerImpl.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/ScoopPackagerImpl.groovy index 2b148dcd..08f14901 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/ScoopPackagerImpl.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/ScoopPackagerImpl.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/SlotImpl.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/SlotImpl.groovy index fb79c842..df3ecd1c 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/SlotImpl.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/SlotImpl.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/SnapImpl.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/SnapImpl.groovy index 3f7e0fde..bfdadb0a 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/SnapImpl.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/SnapImpl.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -27,6 +27,7 @@ import org.gradle.api.model.ObjectFactory import org.gradle.api.provider.ListProperty import org.gradle.api.provider.Property import org.gradle.api.provider.Provider +import org.gradle.api.tasks.Internal import org.kordamp.jreleaser.gradle.plugin.dsl.Snap import org.kordamp.jreleaser.model.Plug import org.kordamp.jreleaser.model.Slot @@ -89,6 +90,7 @@ class SnapImpl extends AbstractTool implements Snap { } @Override + @Internal boolean isSet() { return super.isSet() || base.present || diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/SnapPackagerImpl.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/SnapPackagerImpl.groovy index 7f3cab9d..209877da 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/SnapPackagerImpl.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/internal/dsl/SnapPackagerImpl.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/tasks/JReleaserConfigTask.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/tasks/JReleaserConfigTask.groovy index bf259eaa..abf14cd1 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/tasks/JReleaserConfigTask.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/tasks/JReleaserConfigTask.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/tasks/JReleaserTemplateGeneratorTask.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/tasks/JReleaserTemplateGeneratorTask.groovy index eaeb8793..c3e610a8 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/tasks/JReleaserTemplateGeneratorTask.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/tasks/JReleaserTemplateGeneratorTask.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/tasks/JReleaserToolPackagerTask.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/tasks/JReleaserToolPackagerTask.groovy index d94f1fbe..84ff95b1 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/tasks/JReleaserToolPackagerTask.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/tasks/JReleaserToolPackagerTask.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/tasks/JReleaserToolProcessorTask.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/tasks/JReleaserToolProcessorTask.groovy index 3850be35..965f5d57 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/tasks/JReleaserToolProcessorTask.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/kordamp/jreleaser/gradle/plugin/tasks/JReleaserToolProcessorTask.groovy @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-gradle-plugin/src/main/resources/org/kordamp/jreleaser/gradle/plugin/Banner.properties b/plugins/jreleaser-gradle-plugin/src/main/resources/org/kordamp/jreleaser/gradle/plugin/Banner.properties index d841c0dc..a6d47725 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/resources/org/kordamp/jreleaser/gradle/plugin/Banner.properties +++ b/plugins/jreleaser-gradle-plugin/src/main/resources/org/kordamp/jreleaser/gradle/plugin/Banner.properties @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: Apache-2.0 # -# Copyright 2020 Andres Almiray. +# Copyright 2020-2021 Andres Almiray. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-maven-plugin/gradle.properties b/plugins/jreleaser-maven-plugin/gradle.properties index cc39f168..93a7622f 100644 --- a/plugins/jreleaser-maven-plugin/gradle.properties +++ b/plugins/jreleaser-maven-plugin/gradle.properties @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: Apache-2.0 # -# Copyright 2020 Andres Almiray. +# Copyright 2020-2021 Andres Almiray. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-maven-plugin/jreleaser-maven-plugin.gradle b/plugins/jreleaser-maven-plugin/jreleaser-maven-plugin.gradle index f5512dd7..69b7a098 100644 --- a/plugins/jreleaser-maven-plugin/jreleaser-maven-plugin.gradle +++ b/plugins/jreleaser-maven-plugin/jreleaser-maven-plugin.gradle @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,7 +15,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - plugins { id 'de.benediktritter.maven-plugin-development' version '0.3.1' } diff --git a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/AbstractDomain.java b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/AbstractDomain.java index 2bc541fd..75633ae7 100644 --- a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/AbstractDomain.java +++ b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/AbstractDomain.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/AbstractJReleaserMojo.java b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/AbstractJReleaserMojo.java index a1464d9e..c5fee03e 100644 --- a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/AbstractJReleaserMojo.java +++ b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/AbstractJReleaserMojo.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/AbstractTool.java b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/AbstractTool.java index c355aba5..9674d3d6 100644 --- a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/AbstractTool.java +++ b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/AbstractTool.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Artifact.java b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Artifact.java index 7a7d8fff..6a4ebe50 100644 --- a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Artifact.java +++ b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Artifact.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Banner.java b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Banner.java index 9b1e3993..f8c1988f 100644 --- a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Banner.java +++ b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Banner.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Brew.java b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Brew.java index 205b2878..af72023e 100644 --- a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Brew.java +++ b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Brew.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Changelog.java b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Changelog.java new file mode 100644 index 00000000..fe32eb35 --- /dev/null +++ b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Changelog.java @@ -0,0 +1,92 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright 2020-2021 Andres Almiray. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.kordamp.jreleaser.maven.plugin; + +import java.io.File; +import java.util.Collections; +import java.util.LinkedHashMap; +import java.util.Map; + +import static org.kordamp.jreleaser.util.StringUtils.isNotBlank; + +/** + * @author Andres Almiray + * @since 0.1.0 + */ +public class Changelog extends AbstractDomain { + private Boolean enabled; + private boolean enabledSet; + private Sort sort = Sort.ASC; + private File external; + + void setAll(Changelog changelog) { + this.enabled = changelog.enabled; + this.enabledSet = changelog.enabledSet; + this.sort = changelog.sort; + this.external = changelog.external; + } + + public Boolean isEnabled() { + return enabled != null && enabled; + } + + public void setEnabled(Boolean enabled) { + this.enabledSet = true; + this.enabled = enabled; + } + + public boolean isEnabledSet() { + return enabledSet; + } + + public Sort getSort() { + return sort; + } + + public void setSort(Sort sort) { + this.sort = sort; + } + + public void setSort(String sort) { + if (isNotBlank(sort)) { + setSort(Sort.valueOf(sort.toUpperCase())); + } + } + + public File getExternal() { + return external; + } + + public void setExternal(File external) { + this.external = external; + } + + public Map asMap() { + if (!isEnabled()) return Collections.emptyMap(); + + Map map = new LinkedHashMap<>(); + map.put("enabled", isEnabled()); + map.put("sort", sort); + map.put("external", external); + return map; + } + + public enum Sort { + ASC, DESC + } +} diff --git a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Chocolatey.java b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Chocolatey.java index 48cbe9c4..0de446da 100644 --- a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Chocolatey.java +++ b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Chocolatey.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/ConfigMojo.java b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/ConfigMojo.java index 17103c70..bc81a0f0 100644 --- a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/ConfigMojo.java +++ b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/ConfigMojo.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Distribution.java b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Distribution.java index 2668e678..78f7e763 100644 --- a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Distribution.java +++ b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Distribution.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/ExtraProperties.java b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/ExtraProperties.java index 7a0fdbc9..eb00830d 100644 --- a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/ExtraProperties.java +++ b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/ExtraProperties.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/GenerateTemplateMojo.java b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/GenerateTemplateMojo.java index 200e2c7a..51a2e195 100644 --- a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/GenerateTemplateMojo.java +++ b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/GenerateTemplateMojo.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/GitService.java b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/GitService.java new file mode 100644 index 00000000..5bcf7072 --- /dev/null +++ b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/GitService.java @@ -0,0 +1,191 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright 2020-2021 Andres Almiray. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.kordamp.jreleaser.maven.plugin; + +import java.util.LinkedHashMap; +import java.util.Map; + +/** + * @author Andres Almiray + * @since 0.1.0 + */ +public abstract class GitService extends AbstractDomain { + private String repoHost; + private String repoOwner; + private String repoName; + private String downloadUrlFormat; + private String releaseNotesUrlFormat; + private String latestReleaseUrlFormat; + private String issueTrackerUrlFormat; + private String authorization; + private String tagName; + private String releaseName; + private Changelog changelog = new Changelog(); + private boolean overwrite; + private boolean allowUploadToExisting; + private String apiEndpoint; + + void setAll(GitService service) { + this.repoHost = service.repoHost; + this.repoOwner = service.repoOwner; + this.repoName = service.repoName; + this.downloadUrlFormat = service.downloadUrlFormat; + this.releaseNotesUrlFormat = service.releaseNotesUrlFormat; + this.latestReleaseUrlFormat = service.latestReleaseUrlFormat; + this.issueTrackerUrlFormat = service.issueTrackerUrlFormat; + this.authorization = service.authorization; + this.tagName = service.tagName; + this.releaseName = service.releaseName; + this.overwrite = service.overwrite; + this.allowUploadToExisting = service.allowUploadToExisting; + this.apiEndpoint = service.apiEndpoint; + this.changelog.setAll(service.changelog); + } + + public String getRepoHost() { + return repoHost; + } + + public void setRepoHost(String repoHost) { + this.repoHost = repoHost; + } + + public String getRepoOwner() { + return repoOwner; + } + + public void setRepoOwner(String repoOwner) { + this.repoOwner = repoOwner; + } + + public String getRepoName() { + return repoName; + } + + public void setRepoName(String repoName) { + this.repoName = repoName; + } + + public String getDownloadUrlFormat() { + return downloadUrlFormat; + } + + public void setDownloadUrlFormat(String downloadUrlFormat) { + this.downloadUrlFormat = downloadUrlFormat; + } + + public String getReleaseNotesUrlFormat() { + return releaseNotesUrlFormat; + } + + public void setReleaseNotesUrlFormat(String releaseNotesUrlFormat) { + this.releaseNotesUrlFormat = releaseNotesUrlFormat; + } + + public String getLatestReleaseUrlFormat() { + return latestReleaseUrlFormat; + } + + public void setLatestReleaseUrlFormat(String latestReleaseUrlFormat) { + this.latestReleaseUrlFormat = latestReleaseUrlFormat; + } + + public String getIssueTrackerUrlFormat() { + return issueTrackerUrlFormat; + } + + public void setIssueTrackerUrlFormat(String issueTrackerUrlFormat) { + this.issueTrackerUrlFormat = issueTrackerUrlFormat; + } + + public String getAuthorization() { + return authorization; + } + + public void setAuthorization(String authorization) { + this.authorization = authorization; + } + + public String getTagName() { + return tagName; + } + + public void setTagName(String tagName) { + this.tagName = tagName; + } + + public String getReleaseName() { + return releaseName; + } + + public void setReleaseName(String releaseName) { + this.releaseName = releaseName; + } + + public Changelog getChangelog() { + return changelog; + } + + public void setChangelog(Changelog changelog) { + this.changelog = changelog; + } + + public boolean isOverwrite() { + return overwrite; + } + + public void setOverwrite(boolean overwrite) { + this.overwrite = overwrite; + } + + public boolean isAllowUploadToExisting() { + return allowUploadToExisting; + } + + public void setAllowUploadToExisting(boolean allowUploadToExisting) { + this.allowUploadToExisting = allowUploadToExisting; + } + + public String getApiEndpoint() { + return apiEndpoint; + } + + public void setApiEndpoint(String apiEndpoint) { + this.apiEndpoint = apiEndpoint; + } + + @Override + public Map asMap() { + Map map = new LinkedHashMap<>(); + map.put("repoHost", repoHost); + map.put("repoOwner", repoOwner); + map.put("repoName", repoName); + map.put("downloadUrlFormat", downloadUrlFormat); + map.put("releaseNotesUrlFormat", releaseNotesUrlFormat); + map.put("latestReleaseUrlFormat", latestReleaseUrlFormat); + map.put("issueTrackerUrlFormat", issueTrackerUrlFormat); + map.put("authorization", authorization); + map.put("tagName", tagName); + map.put("releaseName", releaseName); + map.put("overwrite", overwrite); + map.put("allowUploadToExisting", allowUploadToExisting); + map.put("apiEndpoint", apiEndpoint); + map.put("changelog", changelog.asMap()); + return map; + } +} diff --git a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Gitea.java b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Gitea.java new file mode 100644 index 00000000..e457031f --- /dev/null +++ b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Gitea.java @@ -0,0 +1,78 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright 2020-2021 Andres Almiray. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.kordamp.jreleaser.maven.plugin; + +import java.util.Map; + +/** + * @author Andres Almiray + * @since 0.1.0 + */ +public class Gitea extends GitService { + private String targetCommitish = "main"; + private boolean draft; + private boolean prerelease; + + public Gitea() { + setRepoHost("try.gitea.io"); + setDownloadUrlFormat("https://{{repoHost}}/{{repoOwner}}/{{repoName}}/releases/download/v{{projectVersion}}/{{artifactFileName}}"); + setReleaseNotesUrlFormat("https://{{repoHost}}/{{repoOwner}}/{{repoName}}/releases/tag/v{{projectVersion}}"); + setLatestReleaseUrlFormat("https://{{repoHost}}/{{repoOwner}}/{{repoName}}/releases/latest"); + setIssueTrackerUrlFormat("https://{{repoHost}}/{{repoOwner}}/{{repoName}}/issues"); + } + + void setAll(Gitea service) { + super.setAll(service); + this.targetCommitish = service.targetCommitish; + this.draft = service.draft; + this.prerelease = service.prerelease; + } + + public String getTargetCommitish() { + return targetCommitish; + } + + public void setTargetCommitish(String targetCommitish) { + this.targetCommitish = targetCommitish; + } + + public boolean isDraft() { + return draft; + } + + public void setDraft(boolean draft) { + this.draft = draft; + } + + public boolean isPrerelease() { + return prerelease; + } + + public void setPrerelease(boolean prerelease) { + this.prerelease = prerelease; + } + + @Override + public Map asMap() { + Map map = super.asMap(); + map.put("targetCommitish", targetCommitish); + map.put("draft", draft); + map.put("prerelease", prerelease); + return map; + } +} diff --git a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Github.java b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Github.java new file mode 100644 index 00000000..4628324e --- /dev/null +++ b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Github.java @@ -0,0 +1,78 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright 2020-2021 Andres Almiray. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.kordamp.jreleaser.maven.plugin; + +import java.util.Map; + +/** + * @author Andres Almiray + * @since 0.1.0 + */ +public class Github extends GitService { + private String targetCommitish = "main"; + private boolean draft; + private boolean prerelease; + + public Github() { + setRepoHost("github.com"); + setDownloadUrlFormat("https://{{repoHost}}/{{repoOwner}}/{{repoName}}/releases/download/v{{projectVersion}}/{{artifactFileName}}"); + setReleaseNotesUrlFormat("https://{{repoHost}}/{{repoOwner}}/{{repoName}}/releases/tag/v{{projectVersion}}"); + setLatestReleaseUrlFormat("https://{{repoHost}}/{{repoOwner}}/{{repoName}}/releases/latest"); + setIssueTrackerUrlFormat("https://{{repoHost}}/{{repoOwner}}/{{repoName}}/issues"); + } + + void setAll(Github service) { + super.setAll(service); + this.targetCommitish = service.targetCommitish; + this.draft = service.draft; + this.prerelease = service.prerelease; + } + + public String getTargetCommitish() { + return targetCommitish; + } + + public void setTargetCommitish(String targetCommitish) { + this.targetCommitish = targetCommitish; + } + + public boolean isDraft() { + return draft; + } + + public void setDraft(boolean draft) { + this.draft = draft; + } + + public boolean isPrerelease() { + return prerelease; + } + + public void setPrerelease(boolean prerelease) { + this.prerelease = prerelease; + } + + @Override + public Map asMap() { + Map map = super.asMap(); + map.put("targetCommitish", targetCommitish); + map.put("draft", draft); + map.put("prerelease", prerelease); + return map; + } +} diff --git a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Gitlab.java b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Gitlab.java new file mode 100644 index 00000000..0c943ddc --- /dev/null +++ b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Gitlab.java @@ -0,0 +1,56 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright 2020-2021 Andres Almiray. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.kordamp.jreleaser.maven.plugin; + +import java.util.Map; + +/** + * @author Andres Almiray + * @since 0.1.0 + */ +public class Gitlab extends GitService { + private String ref = "main"; + + public Gitlab() { + setRepoHost("gitlab.com"); + setDownloadUrlFormat("\"https://{{repoHost}}/{{repoOwner}}/{{repoName}}/-/archive/v{{projectVersion}}/{{artifactFileName}}"); + setReleaseNotesUrlFormat("https://{{repoHost}}/{{repoOwner}}/{{repoName}}/-/releases/v{{projectVersion}}"); + setLatestReleaseUrlFormat("https://{{repoHost}}/{{repoOwner}}/{{repoName}}/-/releases/v{{projectVersion}}"); + setIssueTrackerUrlFormat("https://{{repoHost}}/{{repoOwner}}/{{repoName}}/-/issues"); + } + + void setAll(Gitlab service) { + super.setAll(service); + this.ref = service.ref; + } + + public String getRef() { + return ref; + } + + public void setRef(String ref) { + this.ref = ref; + } + + @Override + public Map asMap() { + Map map = super.asMap(); + map.put("ref", ref); + return map; + } +} diff --git a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Jreleaser.java b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Jreleaser.java index e2e26f5b..71b2900d 100644 --- a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Jreleaser.java +++ b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Jreleaser.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/PackageToolsMojo.java b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/PackageToolsMojo.java index aa860d80..f291c8e9 100644 --- a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/PackageToolsMojo.java +++ b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/PackageToolsMojo.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Packagers.java b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Packagers.java index 907d2857..7c460b16 100644 --- a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Packagers.java +++ b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Packagers.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Plug.java b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Plug.java index 3b6b772e..1016b2b4 100644 --- a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Plug.java +++ b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Plug.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Project.java b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Project.java index 84b782cd..2353ee54 100644 --- a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Project.java +++ b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Project.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Release.java b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Release.java index cc4396f4..669f50a9 100644 --- a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Release.java +++ b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Release.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,277 +20,75 @@ package org.kordamp.jreleaser.maven.plugin; import java.util.LinkedHashMap; import java.util.Map; -import static org.kordamp.jreleaser.util.StringUtils.isNotBlank; - /** * @author Andres Almiray * @since 0.1.0 */ public class Release extends AbstractDomain { - private RepoType repoType = RepoType.GITHUB; - private String repoHost; - private String repoOwner; - private String repoName; - private String downloadUrlFormat; - private String releaseNotesUrlFormat; - private String latestReleaseUrlFormat; - private String issueTrackerUrlFormat; - private String authorization; - private String tagName; - private String targetCommitish = "main"; - private String releaseName; - private String body = ""; - private boolean draft; - private boolean prerelease; - private boolean overwrite; - private boolean allowUploadToExisting; - private String apiEndpoint; + private Boolean enabled; + private boolean enabledSet; + private Github github; + private Gitlab gitlab; + private Gitea gitea; void setAll(Release release) { - this.repoType = release.repoType; - this.repoHost = release.repoHost; - this.repoOwner = release.repoOwner; - this.repoName = release.repoName; - this.downloadUrlFormat = release.downloadUrlFormat; - this.releaseNotesUrlFormat = release.releaseNotesUrlFormat; - this.latestReleaseUrlFormat = release.latestReleaseUrlFormat; - this.issueTrackerUrlFormat = release.issueTrackerUrlFormat; - this.authorization = release.authorization; - this.tagName = release.tagName; - this.targetCommitish = release.targetCommitish; - this.releaseName = release.releaseName; - this.body = release.body; - this.draft = release.draft; - this.prerelease = release.prerelease; - this.overwrite = release.overwrite; - this.allowUploadToExisting = release.allowUploadToExisting; - this.apiEndpoint = release.apiEndpoint; + this.enabled = release.enabled; + this.enabledSet = release.enabledSet; + this.github = release.github; + this.gitlab = release.gitlab; + this.gitea = release.gitea; } - public RepoType getRepoType() { - return repoType; + public Boolean isEnabled() { + return enabled != null && enabled; } - public void setRepoType(RepoType repoType) { - this.repoType = repoType; + public void setEnabled(Boolean enabled) { + this.enabledSet = true; + this.enabled = enabled; } - public void setRepoType(String repoType) { - if (isNotBlank(repoType)) { - this.repoType = RepoType.valueOf(repoType.toUpperCase()); - } + public boolean isEnabledSet() { + return enabledSet; } - public String getRepoHost() { - return repoHost; + public Github getGithub() { + return github; } - public void setRepoHost(String repoHost) { - this.repoHost = repoHost; + public void setGithub(Github github) { + this.github = github; } - public String getRepoOwner() { - return repoOwner; + public Gitlab getGitlab() { + return gitlab; } - public void setRepoOwner(String repoOwner) { - this.repoOwner = repoOwner; + public void setGitlab(Gitlab gitlab) { + this.gitlab = gitlab; } - public String getRepoName() { - return repoName; + public Gitea getGitea() { + return gitea; } - public void setRepoName(String repoName) { - this.repoName = repoName; + public void setGitea(Gitea gitea) { + this.gitea = gitea; } - public String getDownloadUrlFormat() { - return downloadUrlFormat; - } - - public void setDownloadUrlFormat(String downloadUrlFormat) { - this.downloadUrlFormat = downloadUrlFormat; - } - - public String getReleaseNotesUrlFormat() { - return releaseNotesUrlFormat; - } - - public void setReleaseNotesUrlFormat(String releaseNotesUrlFormat) { - this.releaseNotesUrlFormat = releaseNotesUrlFormat; - } - - public String getLatestReleaseUrlFormat() { - return latestReleaseUrlFormat; - } - - public void setLatestReleaseUrlFormat(String latestReleaseUrlFormat) { - this.latestReleaseUrlFormat = latestReleaseUrlFormat; - } - - public String getIssueTrackerUrlFormat() { - return issueTrackerUrlFormat; - } - - public void setIssueTrackerUrlFormat(String issueTrackerUrlFormat) { - this.issueTrackerUrlFormat = issueTrackerUrlFormat; - } - - public String getAuthorization() { - return authorization; - } - - public void setAuthorization(String authorization) { - this.authorization = authorization; - } - - public String getTagName() { - return tagName; - } - - public void setTagName(String tagName) { - this.tagName = tagName; - } - - public String getTargetCommitish() { - return targetCommitish; - } - - public void setTargetCommitish(String targetCommitish) { - this.targetCommitish = targetCommitish; - } - - public String getReleaseName() { - return releaseName; - } - - public void setReleaseName(String releaseName) { - this.releaseName = releaseName; - } - - public String getBody() { - return body; - } - - public void setBody(String body) { - this.body = body; - } - - public boolean isDraft() { - return draft; - } - - public void setDraft(boolean draft) { - this.draft = draft; - } - - public boolean isPrerelease() { - return prerelease; - } - - public void setPrerelease(boolean prerelease) { - this.prerelease = prerelease; - } - - public boolean isOverwrite() { - return overwrite; - } - - public void setOverwrite(boolean overwrite) { - this.overwrite = overwrite; - } - - public boolean isAllowUploadToExisting() { - return allowUploadToExisting; - } - - public void setAllowUploadToExisting(boolean allowUploadToExisting) { - this.allowUploadToExisting = allowUploadToExisting; - } - - public String getApiEndpoint() { - return apiEndpoint; - } - - public void setApiEndpoint(String apiEndpoint) { - this.apiEndpoint = apiEndpoint; + public GitService getGitService() { + if (null != github) return github; + if (null != gitlab) return gitlab; + return gitea; } @Override public Map asMap() { Map map = new LinkedHashMap<>(); - map.put("repoHost", repoHost); - map.put("repoType", repoType); - map.put("repoOwner", repoOwner); - map.put("repoName", repoName); - map.put("downloadUrlFormat", downloadUrlFormat); - map.put("releaseNotesUrlFormat", releaseNotesUrlFormat); - map.put("latestReleaseUrlFormat", latestReleaseUrlFormat); - map.put("issueTrackerUrlFormat", issueTrackerUrlFormat); - map.put("authorization", authorization); - map.put("tagName", tagName); - map.put("targetCommitish", targetCommitish); - map.put("releaseName", releaseName); - map.put("body ", isNotBlank(body)); - map.put("draft", draft); - map.put("prerelease", prerelease); - map.put("overwrite", overwrite); - map.put("allowUploadToExisting", allowUploadToExisting); - map.put("apiEndpoint", apiEndpoint); + map.put("enabled", isEnabled()); + if (null != github) map.put("github", github); + if (null != gitlab) map.put("gitlab", gitlab); + if (null != gitea) map.put("gitea", gitea); return map; } - - public enum RepoType { - GITHUB("github.com", - "https://{{repoHost}}/{{repoOwner}}/{{repoName}}/releases/download/v{{projectVersion}}/{{artifactFileName}}", - "https://{{repoHost}}/{{repoOwner}}/{{repoName}}/releases/tag/v{{projectVersion}}", - "https://{{repoHost}}/{{repoOwner}}/{{repoName}}/releases/latest", - "https://{{repoHost}}/{{repoOwner}}/{{repoName}}/issues"); - /* - GITLAB("gitlab.com", - "https://{{repoHost}}/{{repoOwner}}/{{repoName}}/-/archive/v{{projectVersion}}/{{artifactFileName}}", - "https://{{repoHost}}/{{repoOwner}}/{{repoName}}/-/releases/v{{projectVersion}}", - "https://{{repoHost}}/{{repoOwner}}/{{repoName}}/-/releases/v{{projectVersion}}", - "https://{{repoHost}}/{{repoOwner}}/{{repoName}}/-/issues"); - */ - - private final String repoHost; - private final String downloadUrlFormat; - private final String releaseNotesUrlFormat; - private final String latestReleaseUrlFormat; - private final String issueTrackerUrlFormat; - - RepoType(String repoHost, - String downloadUrlFormat, - String releaseNotesUrlFormat, - String latestReleaseUrlFormat, - String issueTrackerUrlFormat) { - this.repoHost = repoHost; - this.downloadUrlFormat = downloadUrlFormat; - this.releaseNotesUrlFormat = releaseNotesUrlFormat; - this.latestReleaseUrlFormat = latestReleaseUrlFormat; - this.issueTrackerUrlFormat = issueTrackerUrlFormat; - } - - String repoHost() { - return this.repoHost; - } - - String downloadUrlFormat() { - return this.downloadUrlFormat; - } - - String releaseNotesUrlFormat() { - return this.releaseNotesUrlFormat; - } - - String latestReleaseUrlFormat() { - return this.latestReleaseUrlFormat; - } - - String issueTrackerUrlFormat() { - return this.issueTrackerUrlFormat; - } - } } diff --git a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Scoop.java b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Scoop.java index d564094e..5505d9ca 100644 --- a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Scoop.java +++ b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Scoop.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Slot.java b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Slot.java index 61742e1a..ce569d18 100644 --- a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Slot.java +++ b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Slot.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Snap.java b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Snap.java index 2b0620e3..d65af6ea 100644 --- a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Snap.java +++ b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Snap.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Tool.java b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Tool.java index 2cfed236..f84ea448 100644 --- a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Tool.java +++ b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/Tool.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/internal/JReleaserLoggerAdapter.java b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/internal/JReleaserLoggerAdapter.java index 5e6bcb2d..de6c1408 100644 --- a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/internal/JReleaserLoggerAdapter.java +++ b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/internal/JReleaserLoggerAdapter.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/internal/JReleaserModelConfigurer.java b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/internal/JReleaserModelConfigurer.java index b5d277d5..649a9bf0 100644 --- a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/internal/JReleaserModelConfigurer.java +++ b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/internal/JReleaserModelConfigurer.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/internal/JReleaserModelConverter.java b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/internal/JReleaserModelConverter.java index 2a0d40d7..b0ab6718 100644 --- a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/internal/JReleaserModelConverter.java +++ b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/internal/JReleaserModelConverter.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,8 +19,13 @@ package org.kordamp.jreleaser.maven.plugin.internal; import org.kordamp.jreleaser.maven.plugin.Artifact; import org.kordamp.jreleaser.maven.plugin.Brew; +import org.kordamp.jreleaser.maven.plugin.Changelog; import org.kordamp.jreleaser.maven.plugin.Chocolatey; import org.kordamp.jreleaser.maven.plugin.Distribution; +import org.kordamp.jreleaser.maven.plugin.GitService; +import org.kordamp.jreleaser.maven.plugin.Gitea; +import org.kordamp.jreleaser.maven.plugin.Github; +import org.kordamp.jreleaser.maven.plugin.Gitlab; import org.kordamp.jreleaser.maven.plugin.Jreleaser; import org.kordamp.jreleaser.maven.plugin.Packagers; import org.kordamp.jreleaser.maven.plugin.Plug; @@ -71,26 +76,65 @@ public final class JReleaserModelConverter { private static org.kordamp.jreleaser.model.Release convertRelease(Release release) { org.kordamp.jreleaser.model.Release r = new org.kordamp.jreleaser.model.Release(); - if (null != release.getRepoType()) r.setRepoType(release.getRepoType().name()); - r.setRepoOwner(release.getRepoOwner()); - r.setRepoName(release.getReleaseNotesUrlFormat()); - r.setDownloadUrlFormat(release.getDownloadUrlFormat()); - r.setReleaseNotesUrlFormat(release.getReleaseNotesUrlFormat()); - r.setLatestReleaseUrlFormat(release.getLatestReleaseUrlFormat()); - r.setIssueTrackerUrlFormat(release.getIssueTrackerUrlFormat()); - r.setAuthorization(release.getAuthorization()); - r.setTagName(release.getTagName()); - r.setTargetCommitish(release.getTargetCommitish()); - r.setReleaseName(release.getReleaseName()); - r.setBody(release.getBody()); - r.setDraft(release.isDraft()); - r.setPrerelease(release.isPrerelease()); - r.setOverwrite(release.isOverwrite()); - r.setAllowUploadToExisting(release.isAllowUploadToExisting()); - r.setApiEndpoint(release.getApiEndpoint()); + if (release.isEnabledSet()) r.setEnabled(release.isEnabled()); + r.setGithub(convertGithub(release.getGithub())); + r.setGitlab(convertGitlab(release.getGitlab())); + r.setGitea(convertGitea(release.getGitea())); return r; } + private static org.kordamp.jreleaser.model.Github convertGithub(Github github) { + if (null == github) return null; + org.kordamp.jreleaser.model.Github g = new org.kordamp.jreleaser.model.Github(); + convertGitService(github, g); + g.setTargetCommitish(github.getTargetCommitish()); + g.setDraft(github.isDraft()); + g.setPrerelease(github.isPrerelease()); + return g; + } + + private static org.kordamp.jreleaser.model.Gitlab convertGitlab(Gitlab gitlab) { + if (null == gitlab) return null; + org.kordamp.jreleaser.model.Gitlab g = new org.kordamp.jreleaser.model.Gitlab(); + convertGitService(gitlab, g); + g.setRef(gitlab.getRef()); + return g; + } + + private static org.kordamp.jreleaser.model.Gitea convertGitea(Gitea gitea) { + if (null == gitea) return null; + org.kordamp.jreleaser.model.Gitea g = new org.kordamp.jreleaser.model.Gitea(); + convertGitService(gitea, g); + g.setTargetCommitish(gitea.getTargetCommitish()); + g.setDraft(gitea.isDraft()); + g.setPrerelease(gitea.isPrerelease()); + return g; + } + + private static void convertGitService(GitService service, org.kordamp.jreleaser.model.GitService s) { + s.setRepoOwner(service.getRepoOwner()); + s.setRepoName(service.getReleaseNotesUrlFormat()); + s.setDownloadUrlFormat(service.getDownloadUrlFormat()); + s.setReleaseNotesUrlFormat(service.getReleaseNotesUrlFormat()); + s.setLatestReleaseUrlFormat(service.getLatestReleaseUrlFormat()); + s.setIssueTrackerUrlFormat(service.getIssueTrackerUrlFormat()); + s.setAuthorization(service.getAuthorization()); + s.setTagName(service.getTagName()); + s.setReleaseName(service.getReleaseName()); + s.setOverwrite(service.isOverwrite()); + s.setAllowUploadToExisting(service.isAllowUploadToExisting()); + s.setApiEndpoint(service.getApiEndpoint()); + s.setChangelog(convertChangelog(service.getChangelog())); + } + + private static org.kordamp.jreleaser.model.Changelog convertChangelog(Changelog changelog) { + org.kordamp.jreleaser.model.Changelog c = new org.kordamp.jreleaser.model.Changelog(); + c.setEnabled(changelog.isEnabled()); + c.setSort(changelog.getSort().name()); + c.setExternal(changelog.getExternal()); + return c; + } + private static org.kordamp.jreleaser.model.Packagers convertPackagers(Packagers packagers) { org.kordamp.jreleaser.model.Packagers p = new org.kordamp.jreleaser.model.Packagers(); if (packagers.getBrew().isSet()) p.setBrew(convertBrew(packagers.getBrew())); diff --git a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/internal/JReleaserModelPrinter.java b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/internal/JReleaserModelPrinter.java index eb3314af..54c1ce27 100644 --- a/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/internal/JReleaserModelPrinter.java +++ b/plugins/jreleaser-maven-plugin/src/main/java/org/kordamp/jreleaser/maven/plugin/internal/JReleaserModelPrinter.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/plugins/jreleaser-maven-plugin/src/main/resources/org/kordamp/jreleaser/maven/plugin/Banner.properties b/plugins/jreleaser-maven-plugin/src/main/resources/org/kordamp/jreleaser/maven/plugin/Banner.properties index d841c0dc..a6d47725 100644 --- a/plugins/jreleaser-maven-plugin/src/main/resources/org/kordamp/jreleaser/maven/plugin/Banner.properties +++ b/plugins/jreleaser-maven-plugin/src/main/resources/org/kordamp/jreleaser/maven/plugin/Banner.properties @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: Apache-2.0 # -# Copyright 2020 Andres Almiray. +# Copyright 2020-2021 Andres Almiray. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/sdks/git-sdk/git-sdk.gradle b/sdks/git-sdk/git-sdk.gradle new file mode 100644 index 00000000..f62dc18c --- /dev/null +++ b/sdks/git-sdk/git-sdk.gradle @@ -0,0 +1,22 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright 2020-2021 Andres Almiray. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +dependencies { + api project(':jreleaser-model') + + api "org.eclipse.jgit:org.eclipse.jgit:$jgitVersion" +} \ No newline at end of file diff --git a/sdks/git-sdk/gradle.properties b/sdks/git-sdk/gradle.properties new file mode 100644 index 00000000..35ecf8ec --- /dev/null +++ b/sdks/git-sdk/gradle.properties @@ -0,0 +1,19 @@ +# +# SPDX-License-Identifier: Apache-2.0 +# +# Copyright 2020-2021 Andres Almiray. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +project_description = Java SDK for Git diff --git a/sdks/git-sdk/src/main/java/org/kordamp/jreleaser/sdk/git/ChangelogGenerator.java b/sdks/git-sdk/src/main/java/org/kordamp/jreleaser/sdk/git/ChangelogGenerator.java new file mode 100644 index 00000000..45dfd640 --- /dev/null +++ b/sdks/git-sdk/src/main/java/org/kordamp/jreleaser/sdk/git/ChangelogGenerator.java @@ -0,0 +1,33 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright 2020-2021 Andres Almiray. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.kordamp.jreleaser.sdk.git; + +import org.kordamp.jreleaser.model.Changelog; + +import java.nio.file.Path; + +/** + * @author Andres Almiray + * @since 0.1.0 + */ +public class ChangelogGenerator { + public static String generate(Path basedir, Changelog changelog) { + // TODO + return ""; + } +} diff --git a/sdks/git-sdk/src/main/java/org/kordamp/jreleaser/sdk/git/ChangelogProvider.java b/sdks/git-sdk/src/main/java/org/kordamp/jreleaser/sdk/git/ChangelogProvider.java new file mode 100644 index 00000000..a3c52da6 --- /dev/null +++ b/sdks/git-sdk/src/main/java/org/kordamp/jreleaser/sdk/git/ChangelogProvider.java @@ -0,0 +1,45 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * Copyright 2020-2021 Andres Almiray. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.kordamp.jreleaser.sdk.git; + +import org.kordamp.jreleaser.model.Changelog; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; + +/** + * @author Andres Almiray + * @since 0.1.0 + */ +public class ChangelogProvider { + public static String getChangelog(Path basedir, Changelog changelog) throws IOException { + File externalChangelog = changelog.getExternal(); + + if(null != externalChangelog) { + if(!externalChangelog.exists()) { + throw new IllegalStateException("Changelog "+basedir.resolve(externalChangelog.toPath())+" does not exist"); + } + + return new String(Files.readAllBytes(basedir.resolve(externalChangelog.toPath()))); + } + + return ChangelogGenerator.generate(basedir, changelog); + } +} diff --git a/sdks/github-java-sdk/github-java-sdk.gradle b/sdks/github-java-sdk/github-java-sdk.gradle index 817ec32b..1f2f3d25 100644 --- a/sdks/github-java-sdk/github-java-sdk.gradle +++ b/sdks/github-java-sdk/github-java-sdk.gradle @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,9 +15,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - dependencies { api project(':jreleaser-model') + api project(':git-sdk') api "org.apache.tika:tika-core:$tikaVersion" api "com.squareup.okhttp3:okhttp:$okhttpVersion" diff --git a/sdks/github-java-sdk/gradle.properties b/sdks/github-java-sdk/gradle.properties index 1ef8c39a..8678ffab 100644 --- a/sdks/github-java-sdk/gradle.properties +++ b/sdks/github-java-sdk/gradle.properties @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: Apache-2.0 # -# Copyright 2020 Andres Almiray. +# Copyright 2020-2021 Andres Almiray. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/sdks/github-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/github/Github.java b/sdks/github-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/github/Github.java index ff1a55b2..871881c2 100644 --- a/sdks/github-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/github/Github.java +++ b/sdks/github-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/github/Github.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/sdks/github-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/github/GithubReleaser.java b/sdks/github-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/github/GithubReleaser.java index 834e3331..7af091d0 100644 --- a/sdks/github-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/github/GithubReleaser.java +++ b/sdks/github-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/github/GithubReleaser.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,10 +18,12 @@ package org.kordamp.jreleaser.sdk.github; import org.kohsuke.github.GHRelease; +import org.kordamp.jreleaser.model.Changelog; import org.kordamp.jreleaser.model.JReleaserModel; import org.kordamp.jreleaser.model.releaser.ReleaseException; import org.kordamp.jreleaser.model.releaser.Releaser; import org.kordamp.jreleaser.model.releaser.ReleaserBuilder; +import org.kordamp.jreleaser.sdk.git.ChangelogProvider; import org.kordamp.jreleaser.util.Logger; import java.io.IOException; @@ -39,12 +41,13 @@ import static org.kordamp.jreleaser.util.StringUtils.requireNonBlank; */ public class GithubReleaser implements Releaser { private final Logger logger; + private final Path basedir; private final String repo; private final String authorization; private final String tagName; private final String targetCommitish; private final String releaseName; - private final String body; + private final Changelog changelog; private final boolean draft; private final boolean prerelease; private final boolean overwrite; @@ -52,17 +55,18 @@ public class GithubReleaser implements Releaser { private final String apiEndpoint; private final List assets = new ArrayList<>(); - public GithubReleaser(Logger logger, String repo, String authorization, + public GithubReleaser(Path basedir, Logger logger, String repo, String authorization, String tagName, String targetCommitish, String releaseName, - String body, boolean draft, boolean prerelease, boolean overwrite, + Changelog changelog, boolean draft, boolean prerelease, boolean overwrite, boolean allowUploadToExisting, String apiEndpoint, List assets) { + this.basedir = basedir; this.logger = logger; this.repo = repo; this.authorization = authorization; this.tagName = tagName; this.targetCommitish = targetCommitish; this.releaseName = releaseName; - this.body = body; + this.changelog = changelog; this.draft = draft; this.prerelease = prerelease; this.overwrite = overwrite; @@ -100,7 +104,7 @@ public class GithubReleaser implements Releaser { .name(releaseName) .draft(draft) .prerelease(prerelease) - .body(body) + .body(ChangelogProvider.getChangelog(basedir, changelog)) .create(); api.uploadAssets(release, assets); } @@ -111,19 +115,25 @@ public class GithubReleaser implements Releaser { public static class Builder implements ReleaserBuilder { private final List assets = new ArrayList<>(); + private Path basedir; private Logger logger; private String repo; private String authorization; private String tagName; private String targetCommitish = "main"; private String releaseName; - private String body = ""; + private Changelog changelog; private boolean draft; private boolean prerelease; private boolean overwrite; private boolean allowUploadToExisting; private String apiEndpoint = Github.ENDPOINT; + public Builder basedir(Path basedir) { + this.basedir = requireNonNull(basedir, "'basedir' must not be null"); + return this; + } + public Builder logger(Logger logger) { this.logger = requireNonNull(logger, "'logger' must not be null"); return this; @@ -154,8 +164,8 @@ public class GithubReleaser implements Releaser { return this; } - public Builder body(String body) { - this.body = body; + public Builder changelog(Changelog changelog) { + this.changelog = changelog; return this; } @@ -193,6 +203,7 @@ public class GithubReleaser implements Releaser { @Override public GithubReleaser build() { + requireNonNull(basedir, "'basedir' must not be null"); requireNonNull(logger, "'logger' must not be null"); requireNonBlank(repo, "'repo' must not be blank"); requireNonBlank(authorization, "'authorization' must not be blank"); @@ -203,25 +214,26 @@ public class GithubReleaser implements Releaser { throw new IllegalArgumentException("'assets must not be empty"); } - return new GithubReleaser(logger, repo, authorization, + return new GithubReleaser(basedir, logger, repo, authorization, tagName, targetCommitish, releaseName, - body, draft, prerelease, overwrite, + changelog, draft, prerelease, overwrite, allowUploadToExisting, apiEndpoint, assets); } @Override - public GithubReleaser buildFromModel(JReleaserModel model) { - repo(model.getRelease().getRepoName()); - authorization(model.getRelease().getAuthorization()); - tagName(model.getRelease().getTagName()); - targetCommitish(model.getRelease().getTargetCommitish()); - releaseName(model.getRelease().getRepoName()); - body(model.getRelease().getBody()); - draft(model.getRelease().isDraft()); - prerelease(model.getRelease().isPrerelease()); - overwrite(model.getRelease().isOverwrite()); - allowUploadToExisting(model.getRelease().isAllowUploadToExisting()); - apiEndpoint(model.getRelease().getApiEndpoint()); + public GithubReleaser buildFromModel(Path basedir, JReleaserModel model) { + basedir(basedir); + repo(model.getRelease().getGithub().getRepoName()); + authorization(model.getRelease().getGithub().getAuthorization()); + tagName(model.getRelease().getGithub().getTagName()); + targetCommitish(model.getRelease().getGithub().getTargetCommitish()); + releaseName(model.getRelease().getGithub().getRepoName()); + draft(model.getRelease().getGithub().isDraft()); + prerelease(model.getRelease().getGithub().isPrerelease()); + overwrite(model.getRelease().getGithub().isOverwrite()); + allowUploadToExisting(model.getRelease().getGithub().isAllowUploadToExisting()); + apiEndpoint(model.getRelease().getGithub().getApiEndpoint()); + changelog(model.getRelease().getGithub().getChangelog()); return build(); } } diff --git a/sdks/gitlab-java-sdk/gitlab-java-sdk.gradle b/sdks/gitlab-java-sdk/gitlab-java-sdk.gradle index e3079623..af4cf30b 100644 --- a/sdks/gitlab-java-sdk/gitlab-java-sdk.gradle +++ b/sdks/gitlab-java-sdk/gitlab-java-sdk.gradle @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,9 +15,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - dependencies { api project(':jreleaser-model') + api project(':git-sdk') api "org.apache.tika:tika-core:$tikaVersion" diff --git a/sdks/gitlab-java-sdk/gradle.properties b/sdks/gitlab-java-sdk/gradle.properties index ce9a90ee..a63eb400 100644 --- a/sdks/gitlab-java-sdk/gradle.properties +++ b/sdks/gitlab-java-sdk/gradle.properties @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: Apache-2.0 # -# Copyright 2020 Andres Almiray. +# Copyright 2020-2021 Andres Almiray. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/sdks/gitlab-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/gitlab/Gitlab.java b/sdks/gitlab-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/gitlab/Gitlab.java index 3e53d6ea..919a7b86 100644 --- a/sdks/gitlab-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/gitlab/Gitlab.java +++ b/sdks/gitlab-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/gitlab/Gitlab.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/sdks/gitlab-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/gitlab/GitlabReleaser.java b/sdks/gitlab-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/gitlab/GitlabReleaser.java index c7548c91..7671b2e0 100644 --- a/sdks/gitlab-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/gitlab/GitlabReleaser.java +++ b/sdks/gitlab-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/gitlab/GitlabReleaser.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,6 +20,7 @@ package org.kordamp.jreleaser.sdk.gitlab; import org.gitlab4j.api.GitLabApiException; import org.gitlab4j.api.models.Release; import org.gitlab4j.api.models.ReleaseParams; +import org.kordamp.jreleaser.model.Changelog; import org.kordamp.jreleaser.model.JReleaserModel; import org.kordamp.jreleaser.model.releaser.ReleaseException; import org.kordamp.jreleaser.model.releaser.Releaser; @@ -40,29 +41,31 @@ import static org.kordamp.jreleaser.util.StringUtils.requireNonBlank; * @since 0.1.0 */ public class GitlabReleaser implements Releaser { + private final Path basedir; private final Logger logger; private final String repo; private final String authorization; private final String tagName; private final String ref; - private final String body; + private final Changelog changelog; private final String releaseName; private final boolean overwrite; private final boolean allowUploadToExisting; private final String apiEndpoint; private final List assets = new ArrayList<>(); - public GitlabReleaser(Logger logger, String repo, String authorization, + public GitlabReleaser(Path basedir, Logger logger, String repo, String authorization, String tagName, String ref, String releaseName, - String body, boolean overwrite, + Changelog changelog, boolean overwrite, boolean allowUploadToExisting, String apiEndpoint, List assets) { + this.basedir = basedir; this.logger = logger; this.repo = repo; this.authorization = authorization; this.tagName = tagName; this.ref = ref; this.releaseName = releaseName; - this.body = body; + this.changelog = changelog; this.overwrite = overwrite; this.allowUploadToExisting = allowUploadToExisting; this.apiEndpoint = apiEndpoint; @@ -107,17 +110,23 @@ public class GitlabReleaser implements Releaser { public static class Builder implements ReleaserBuilder { private final List assets = new ArrayList<>(); + private Path basedir; private Logger logger; private String repo; private String authorization; private String tagName; private String ref = "main"; private String releaseName; - private String body = ""; + private Changelog changelog; private boolean overwrite; private boolean allowUploadToExisting; private String apiEndpoint = Gitlab.ENDPOINT; + public Builder basedir(Path basedir) { + this.basedir = requireNonNull(basedir, "'basedir' must not be null"); + return this; + } + public Builder logger(Logger logger) { this.logger = requireNonNull(logger, "'logger' must not be null"); return this; @@ -148,8 +157,8 @@ public class GitlabReleaser implements Releaser { return this; } - public Builder body(String body) { - this.body = body; + public Builder changelog(Changelog changelog) { + this.changelog = changelog; return this; } @@ -177,6 +186,7 @@ public class GitlabReleaser implements Releaser { @Override public GitlabReleaser build() { + requireNonNull(basedir, "'basedir' must not be null"); requireNonNull(logger, "'logger' must not be null"); requireNonBlank(repo, "'repo' must not be blank"); requireNonBlank(authorization, "'authorization' must not be blank"); @@ -187,23 +197,24 @@ public class GitlabReleaser implements Releaser { throw new IllegalArgumentException("'assets must not be empty"); } - return new GitlabReleaser(logger, repo, authorization, + return new GitlabReleaser(basedir, logger, repo, authorization, tagName, ref, releaseName, - body, overwrite, + changelog, overwrite, allowUploadToExisting, apiEndpoint, assets); } @Override - public GitlabReleaser buildFromModel(JReleaserModel model) { - repo(model.getRelease().getRepoName()); - authorization(model.getRelease().getAuthorization()); - tagName(model.getRelease().getTagName()); - ref(model.getRelease().getTargetCommitish()); - releaseName(model.getRelease().getRepoName()); - body(model.getRelease().getBody()); - overwrite(model.getRelease().isOverwrite()); - allowUploadToExisting(model.getRelease().isAllowUploadToExisting()); - apiEndpoint(model.getRelease().getApiEndpoint()); + public GitlabReleaser buildFromModel(Path basedir, JReleaserModel model) { + basedir(basedir); + repo(model.getRelease().getGitlab().getRepoName()); + authorization(model.getRelease().getGitlab().getAuthorization()); + tagName(model.getRelease().getGitlab().getTagName()); + ref(model.getRelease().getGitlab().getRef()); + releaseName(model.getRelease().getGitlab().getRepoName()); + overwrite(model.getRelease().getGitlab().isOverwrite()); + allowUploadToExisting(model.getRelease().getGitlab().isAllowUploadToExisting()); + apiEndpoint(model.getRelease().getGitlab().getApiEndpoint()); + changelog(model.getRelease().getGitlab().getChangelog()); return build(); } } diff --git a/sdks/sdkman-java-sdk/gradle.properties b/sdks/sdkman-java-sdk/gradle.properties index 16ab7bde..dcfdc2fa 100644 --- a/sdks/sdkman-java-sdk/gradle.properties +++ b/sdks/sdkman-java-sdk/gradle.properties @@ -1,7 +1,7 @@ # # SPDX-License-Identifier: Apache-2.0 # -# Copyright 2020 Andres Almiray. +# Copyright 2020-2021 Andres Almiray. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/sdks/sdkman-java-sdk/sdkman-java-sdk.gradle b/sdks/sdkman-java-sdk/sdkman-java-sdk.gradle index ac153a60..1c0af46d 100644 --- a/sdks/sdkman-java-sdk/sdkman-java-sdk.gradle +++ b/sdks/sdkman-java-sdk/sdkman-java-sdk.gradle @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,7 +15,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - dependencies { api project(':jreleaser-utils') diff --git a/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/AbstractMultiSdkmanCommand.java b/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/AbstractMultiSdkmanCommand.java index 63a27eda..acab33b7 100644 --- a/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/AbstractMultiSdkmanCommand.java +++ b/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/AbstractMultiSdkmanCommand.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/AbstractSdkmanCommand.java b/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/AbstractSdkmanCommand.java index 15b4fedc..5378c17b 100644 --- a/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/AbstractSdkmanCommand.java +++ b/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/AbstractSdkmanCommand.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/AbstractSingleSdkmanCommand.java b/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/AbstractSingleSdkmanCommand.java index abbadeaa..8c3bf3c1 100644 --- a/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/AbstractSingleSdkmanCommand.java +++ b/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/AbstractSingleSdkmanCommand.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/AnnounceSdkmanCommand.java b/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/AnnounceSdkmanCommand.java index b7de1059..df6e7245 100644 --- a/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/AnnounceSdkmanCommand.java +++ b/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/AnnounceSdkmanCommand.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/ApiEndpoints.java b/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/ApiEndpoints.java index 43d5eda0..63e66ac3 100644 --- a/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/ApiEndpoints.java +++ b/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/ApiEndpoints.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/DefaultSdkmanCommand.java b/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/DefaultSdkmanCommand.java index 39f89591..17691856 100644 --- a/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/DefaultSdkmanCommand.java +++ b/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/DefaultSdkmanCommand.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/MajorReleaseSdkmanCommand.java b/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/MajorReleaseSdkmanCommand.java index 66bbe8d0..d0ebcbdc 100644 --- a/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/MajorReleaseSdkmanCommand.java +++ b/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/MajorReleaseSdkmanCommand.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/MinorReleaseSdkmanCommand.java b/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/MinorReleaseSdkmanCommand.java index ea2f87f8..ba0319c0 100644 --- a/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/MinorReleaseSdkmanCommand.java +++ b/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/MinorReleaseSdkmanCommand.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/ReleaseSdkmanCommand.java b/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/ReleaseSdkmanCommand.java index 1e307e1f..6b7c85c4 100644 --- a/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/ReleaseSdkmanCommand.java +++ b/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/ReleaseSdkmanCommand.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/SdkmanCommand.java b/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/SdkmanCommand.java index 1d7c5aaf..d9db6883 100644 --- a/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/SdkmanCommand.java +++ b/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/SdkmanCommand.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/SdkmanException.java b/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/SdkmanException.java index 67ddfad6..3fa32820 100644 --- a/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/SdkmanException.java +++ b/sdks/sdkman-java-sdk/src/main/java/org/kordamp/jreleaser/sdk/sdkman/SdkmanException.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/sdks/sdkman-java-sdk/src/test/java/org/kordamp/jreleaser/sdk/sdkman/AnnounceSdkmanCommandTest.java b/sdks/sdkman-java-sdk/src/test/java/org/kordamp/jreleaser/sdk/sdkman/AnnounceSdkmanCommandTest.java index eb7ae2ab..3d68646f 100644 --- a/sdks/sdkman-java-sdk/src/test/java/org/kordamp/jreleaser/sdk/sdkman/AnnounceSdkmanCommandTest.java +++ b/sdks/sdkman-java-sdk/src/test/java/org/kordamp/jreleaser/sdk/sdkman/AnnounceSdkmanCommandTest.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/sdks/sdkman-java-sdk/src/test/java/org/kordamp/jreleaser/sdk/sdkman/DefaultSdkmanCommandTest.java b/sdks/sdkman-java-sdk/src/test/java/org/kordamp/jreleaser/sdk/sdkman/DefaultSdkmanCommandTest.java index b547e165..8db85bfd 100644 --- a/sdks/sdkman-java-sdk/src/test/java/org/kordamp/jreleaser/sdk/sdkman/DefaultSdkmanCommandTest.java +++ b/sdks/sdkman-java-sdk/src/test/java/org/kordamp/jreleaser/sdk/sdkman/DefaultSdkmanCommandTest.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/sdks/sdkman-java-sdk/src/test/java/org/kordamp/jreleaser/sdk/sdkman/MajorReleaseSdkmanCommandTest.java b/sdks/sdkman-java-sdk/src/test/java/org/kordamp/jreleaser/sdk/sdkman/MajorReleaseSdkmanCommandTest.java index 8ef0115a..1d2f814c 100644 --- a/sdks/sdkman-java-sdk/src/test/java/org/kordamp/jreleaser/sdk/sdkman/MajorReleaseSdkmanCommandTest.java +++ b/sdks/sdkman-java-sdk/src/test/java/org/kordamp/jreleaser/sdk/sdkman/MajorReleaseSdkmanCommandTest.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/sdks/sdkman-java-sdk/src/test/java/org/kordamp/jreleaser/sdk/sdkman/MinorReleaseSdkmanCommandTest.java b/sdks/sdkman-java-sdk/src/test/java/org/kordamp/jreleaser/sdk/sdkman/MinorReleaseSdkmanCommandTest.java index 77e5925f..8658420f 100644 --- a/sdks/sdkman-java-sdk/src/test/java/org/kordamp/jreleaser/sdk/sdkman/MinorReleaseSdkmanCommandTest.java +++ b/sdks/sdkman-java-sdk/src/test/java/org/kordamp/jreleaser/sdk/sdkman/MinorReleaseSdkmanCommandTest.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/sdks/sdkman-java-sdk/src/test/java/org/kordamp/jreleaser/sdk/sdkman/ReleaseSdkmanCommandTest.java b/sdks/sdkman-java-sdk/src/test/java/org/kordamp/jreleaser/sdk/sdkman/ReleaseSdkmanCommandTest.java index 73820afb..6c219a49 100644 --- a/sdks/sdkman-java-sdk/src/test/java/org/kordamp/jreleaser/sdk/sdkman/ReleaseSdkmanCommandTest.java +++ b/sdks/sdkman-java-sdk/src/test/java/org/kordamp/jreleaser/sdk/sdkman/ReleaseSdkmanCommandTest.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/sdks/sdkman-java-sdk/src/test/java/org/kordamp/jreleaser/sdk/sdkman/Stubs.java b/sdks/sdkman-java-sdk/src/test/java/org/kordamp/jreleaser/sdk/sdkman/Stubs.java index 61ebb75d..3ff8d4cc 100644 --- a/sdks/sdkman-java-sdk/src/test/java/org/kordamp/jreleaser/sdk/sdkman/Stubs.java +++ b/sdks/sdkman-java-sdk/src/test/java/org/kordamp/jreleaser/sdk/sdkman/Stubs.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/sdks/sdkman-java-sdk/src/test/java/org/kordamp/jreleaser/sdk/sdkman/WireMockExtension.java b/sdks/sdkman-java-sdk/src/test/java/org/kordamp/jreleaser/sdk/sdkman/WireMockExtension.java index 250f5936..92ca54ad 100644 --- a/sdks/sdkman-java-sdk/src/test/java/org/kordamp/jreleaser/sdk/sdkman/WireMockExtension.java +++ b/sdks/sdkman-java-sdk/src/test/java/org/kordamp/jreleaser/sdk/sdkman/WireMockExtension.java @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/settings.gradle b/settings.gradle index f4838da8..88563081 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,7 +1,7 @@ /* * SPDX-License-Identifier: Apache-2.0 * - * Copyright 2020 Andres Almiray. + * Copyright 2020-2021 Andres Almiray. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.