[rest-gradle-plugin] 04/83: Add bintray plugin
Alastair McKinstry
mckinstry at moszumanska.debian.org
Wed Oct 25 15:59:01 UTC 2017
This is an automated email from the git hooks/post-receive script.
mckinstry pushed a commit to branch debian/master
in repository rest-gradle-plugin.
commit 7e85295f93203de3949e4079675d7db0ac11875e
Author: noamt <noamt at jfrog.com>
Date: Mon Feb 25 15:33:40 2013 +0200
Add bintray plugin
---
gradle/Bintray.gradle | 117 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 117 insertions(+)
diff --git a/gradle/Bintray.gradle b/gradle/Bintray.gradle
new file mode 100644
index 0000000..11021bd
--- /dev/null
+++ b/gradle/Bintray.gradle
@@ -0,0 +1,117 @@
+/*
+ * Copyright 2013 David M. Carr
+ *
+ * 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
+ *
+ * http://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.
+ */
+
+import org.gradle.api.artifacts.repositories.MavenArtifactRepository
+import org.gradle.api.internal.Actions
+import org.gradle.api.internal.ClosureBackedAction
+
+class BintrayRepositoriesExtension {
+ static final String REPO_OWNER_ARG_NAME = 'repoOwner'
+ static final String REPO_NAME_ARG_NAME = 'repoName'
+ static final String URL_ARG_NAME = 'url'
+ static final String NAME_ARG_NAME = 'name'
+
+ Project project
+ RepositoryHandler repositories
+
+ BintrayRepositoriesExtension(Project project, RepositoryHandler repositories) {
+ this.project = project
+ this.repositories = repositories
+ }
+
+ MavenArtifactRepository jcenter() {
+ return repositories.maven { MavenArtifactRepository repository ->
+ repository.name = 'BintrayJCenter'
+ repository.url = 'http://jcenter.bintray.com'
+ }
+ }
+
+ MavenArtifactRepository repo(Map<String, ?> args) {
+ return repo(args, Actions.doNothing())
+ }
+
+ @SuppressWarnings("unchecked")
+ MavenArtifactRepository repo(Map<String, ?> args, Closure closure) {
+ return repo(args, new ClosureBackedAction(closure))
+ }
+
+ MavenArtifactRepository repo(Map<String, ?> args, Action<? super MavenArtifactRepository> action) {
+ Map<String, Object> modifiedArgs = new HashMap<String, Object>(args)
+ String repoOwner = pullRequiredArg(modifiedArgs, REPO_OWNER_ARG_NAME)
+ String repoName = pullRequiredArg(modifiedArgs, REPO_NAME_ARG_NAME)
+ if (!modifiedArgs.containsKey(URL_ARG_NAME)) {
+ modifiedArgs.put(URL_ARG_NAME, determineRepositoryUrl(repoOwner, repoName))
+ }
+ if (!modifiedArgs.containsKey(NAME_ARG_NAME)) {
+ modifiedArgs.put(NAME_ARG_NAME, determineRepositoryName(repoOwner, repoName))
+ }
+ return repositories.maven { MavenArtifactRepository repository ->
+ repository.credentials.conventionMapping.username = {
+ if (!project.hasProperty('bintrayUserName')) {
+ throw new InvalidUserDataException("Bintray repositories require authentication. Please configure the credentials either directly in the repository definition, or with 'bintrayUserName' and 'bintrayApiKey' properties in your gradle.properties.file.")
+ }
+ return project.bintrayUserName
+ }
+ repository.credentials.conventionMapping.password = {
+ if (!project.hasProperty('bintrayApiKey')) {
+ throw new InvalidUserDataException("Bintray repositories require authentication. Please configure the credentials either directly in the repository definition, or with 'bintrayUserName' and 'bintrayApiKey' properties in your gradle.properties.file.")
+ }
+ project.bintrayApiKey
+ }
+ ConfigureUtil.configureByMap(modifiedArgs, repository)
+ action.execute(repository)
+ }
+ }
+
+ String pullRequiredArg(Map<String, ?> args, String argName) {
+ Object objectValue = args.remove(argName)
+ if (objectValue == null) throw new InvalidUserDataException("'${argName}' must be specified")
+ String stringValue = objectValue.toString()
+ if (stringValue.isEmpty()) throw new InvalidUserDataException("'${argName}' must be non-empty")
+ return stringValue
+ }
+
+ String determineRepositoryName(String repoOwner, String repoName) {
+ return "Bintray${toTitleCase(separatorsToCaps(repoOwner))}${toTitleCase(separatorsToCaps(repoName))}"
+ }
+
+ String determineRepositoryUrl(String repoOwner, String repoName) {
+ return "http://dl.bintray.com/content/${repoOwner}/${repoName}"
+ }
+
+ String separatorsToCaps(String string) {
+ StringBuilder stringBuilder = new StringBuilder(string)
+ int pos = 0
+ while (pos < stringBuilder.length()) {
+ char curChar = stringBuilder.charAt(pos)
+ if (curChar == '-') {
+ if (pos + 1 < stringBuilder.length()) {
+ stringBuilder.setCharAt(pos + 1, Character.toUpperCase(stringBuilder.charAt(pos + 1)))
+ }
+ stringBuilder.deleteCharAt(pos)
+ }
+ pos++
+ }
+ return stringBuilder.toString()
+ }
+
+ String toTitleCase(String string) {
+ if (string.isEmpty()) return string
+ StringBuilder stringBuilder = new StringBuilder(string)
+ stringBuilder.setCharAt(0, Character.toUpperCase(stringBuilder.charAt(0)))
+ return stringBuilder.toString()
+ }
+}
+
+project.buildscript.repositories.extensions.create('bintray', BintrayRepositoriesExtension, project, project.buildscript.repositories)
+project.repositories.extensions.create('bintray', BintrayRepositoriesExtension, project, project.repositories)
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/rest-gradle-plugin.git
More information about the pkg-java-commits
mailing list