JFrog bintray - SNAPSHOT
Maven 저장소에 스냅샷을 배포할 수 없다.
개발용으로 사용할 수 없으므로... 정식 버전만 배포할 수 있다.
즉 version 에 *-SNAPSHOT 사용하면 안된다.
seen from China
seen from Russia
seen from Malaysia

seen from United States

seen from Singapore

seen from United States
seen from United States

seen from United States

seen from United States
seen from Germany

seen from United States
seen from Spain
seen from T1
seen from Spain
seen from Türkiye
seen from Germany
seen from T1
seen from Brazil

seen from United States
seen from United States
JFrog bintray - SNAPSHOT
Maven 저장소에 스냅샷을 배포할 수 없다.
개발용으로 사용할 수 없으므로... 정식 버전만 배포할 수 있다.
즉 version 에 *-SNAPSHOT 사용하면 안된다.

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
GrooCSS 0.7 Released
GrooCSS 0.7 has been available for a few days. A few bug fixes in both the core and the gradle-plugin have been included in 0.7.2. New in this release:
Better pseudo-class support with %
Measurements are now fully supported including math between different compatible types.
Added Gradle Plugin
Some measurement values are validated (for example, passing 10.deg to maxWidth will throw an AssertionError).
Pseudo-classes example:
input % hover { color blue } li % nthChild('3n') { color blue }
Produces:
input:hover { color: Blue; } li:nth-child(3n) { color: Blue; }
The main website has also been moved to github hosting! Check it out: http://www.groocss.org/
See the main site for instructions on how to use the Gradle plugin.
This JSP tag library makes tracking with SiteCatalyst easier.
Demo-app v 1.0.7 of stroke-taglib has been released. Grab it now from #bintray.
How to publish and distribute your Android AAR package?
Table of Contents
JCenter vs Maven Centeral
Add build script dependencies
Configure the library module
Sign up a account in bintray
Sample
1 JCenter vs Maven Centeral
I don't know since when, Android gradle's default repository started to use jcenter instead of the older maven centeral as the default archive repository. According to some talks, Jcenter can leverage the JFrog's technology, which is a superset of Maven central, so it improved and promoted the efficiency of Android project compilation. In a word, Jcenter is better than Maven Central.
2 Add build script dependencies
dependencies { classpath 'com.android.tools.build:gradle:1.3.0' classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.3.1' classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files }
Add above code to your root build.gradle
3 Configure the library module
apply plugin: 'com.android.library' apply plugin: 'com.github.dcendents.android-maven' apply plugin: 'com.jfrog.bintray' android { ... } apply from: './bintray_upload.gradle'
apply plugins in the header of the library module's build.gradle. Following is the detailed configuration script bintray_upload.gradle.
version = android.defaultConfig.versionName def siteUrl = 'http://ift.tt/1iuzuwp' // Homepage URL of the library def gitUrl = 'http://ift.tt/1IW7W8j' // Git repository URL group = "org.jacob.lib.jbig" install { repositories.mavenInstaller { // This generates POM.xml with proper parameters pom { project { packaging 'aar' artifactId 'jbig-android' // Add your description here name 'jbig library aar project for android' url siteUrl // Set your license licenses { license { name 'GNU GENERAL PUBLIC LICENSE, Version 3' url 'http://ift.tt/SDJ4MR' } } developers { developer { id 'suzp1984' name 'suzp1984' email '[email protected]' } } scm { connection gitUrl developerConnection gitUrl url siteUrl } } } } } task sourcesJar(type: Jar) { from android.sourceSets.main.java.srcDirs classifier = 'sources' } task javadoc(type: Javadoc) { source = android.sourceSets.main.java.srcDirs classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) } task javadocJar(type: Jar, dependsOn: javadoc) { classifier = 'javadoc' from javadoc.destinationDir // options.encoding = 'UTF-8' } artifacts { archives javadocJar archives sourcesJar } Properties properties = new Properties() properties.load(project.rootProject.file('local.properties').newDataInputStream()) bintray { user = properties.getProperty("bintray.user") key = properties.getProperty("bintray.apikey") configurations = ['archives'] pkg { repo = "maven" name = "jbig-android" websiteUrl = siteUrl vcsUrl = gitUrl licenses = ["GPL-3.0"] publish = true } }
4 Sign up a account in bintray
Then, sign up a account in bintray. First upload the archive into a bintray repository, then link to JCenter in the website. Add your account info into project's local.properties, in this case is two values: bintray.user and bintray.apikey.
5 Sample
refer to my project jbig-android to get some details as a real sample, But there are still some flaws left, because of the un-standard pom format and content, bintray send me a email to illustrate that he can not accept my request to link it into Jcenter.

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
Publishing Artifacts to Bintray from Travis-CI
I came across a question recently in StackOverflow:
I would like to use Travis CI for my open-source project. The issue that Travis doesn't provide any ways to publish produced artifacts (though, they have this in their future plans).
What are workarounds to publish/upload artifacts somewhere? I'm allowed to execute any scripts on a CI machine.
Simple upload will work, but there is security issue: anyone will be able to upload something in the same way as all sources are public.
It was asked in 2012, and while a lot has changed since then, none of the answers recommended Bintray, which I think is a real shame, as it’s a repository system designed for this stuff.
I added my answer to the question, and thought I could expand more on the solution here.
Lets go over the basics: you have an open source project hosted in github, and you want to tag releases, and have those releases build and make their way out to JCenter (bintray’s popular repository, and The Easy Way into Maven Central) for others to consume/use.
If you are using Java & Maven, this post is for you. If you are using Java & <insert better tool here> then most of this post still applies, but you’ll want to do different deployment steps with your given tool. Gradle is quite popular (and arguably better than Maven), and I’ve heard that process is easier, as there are better ways to do it with gradle. Since my project was with maven, I’ll focus on that here. Lets get started.
Step 1 - Create your accounts
You need accounts for Bintray and Travis-CI. I’m going to assume you don’t have these, if you do, skip this and go to Step 2.
1.1 Travis-CI Setup
Head to https://travis-ci.org/ and create an account. Link it to your github account, and give it access. It should show a list of code repos in github that you control. Select the repo you want, and enable travis-ci for that repo.
There’s more to it, so at this point, take a moment and read the getting started guide: http://docs.travis-ci.com/user/getting-started/
One last thing, before proceeding, read the section from travis-ci about encrypting secret variables (environment variables), we will do this in the next step so that when travis runs, maven has access to a username and password for the bintray publishing step: http://docs.travis-ci.com/user/encryption-keys/
1.2 Bintray Account
You’ll need to create a Bintray account, and also create an API key that is associated with your account.
Go to https://bintray.com/ and create an account. It helps to also register/link the account to your github account. Once that’s done, head to your profile, and create an API Key that you’ll use later with maven (you reference an encrypted version of this as an environment variable in a custom settings.xml we create for maven to release with).
Next, create a maven repo for your user account (or bintray organization if you set one of those up).
Lastly, create a package in bintray that represents your project’s artifacts (published stuff goes in a “package”, each release is versioned and good to go). https://bintray.com/howbintrayworks
During the package creation, you can also link it to JCenter, which will expose it to a larger public audience and let others more easily download and use it as a maven dependency.
Step 2 - Setup Maven for Bintray
Edit your pom.xml to include a distributionManagement section. Looking at the <url>: note that you need to fill in your bintray account/username, the repo name, and the project name. The “maven” part stays the same, this is following the same examples that bintray provides:
<distributionManagement> <repository> <id>my-bintray-id</id> <url>https://api.bintray.com/maven/myUserName/myRepoName/my_awesome_project;publish=1</url> </repository> </distributionManagement>
Next, setup a custom maven settings.xml file that has your bintray username and bintray API key. Note that you will first need to encrypt the BINTRAY_USER and BINTRAY_API_KEY variables using travis, (see this guide: http://docs.travis-ci.com/user/encryption-keys/). Here’s an example settings.xml:
<servers> <server> <id>my-bintray-id</id> <username>${env.BINTRAY_USER}</username> <password>${env.BINTRAY_API_KEY}</password> </server> </servers>
When travis runs, maven will have access to the decrypted environment variables.
Lastly, for maven, we need to add the release plugin to our pom.xml, so that we can do our releases (git tag, bump versions, make commits, etc):
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> <version>2.5.2</version> </plugin> </plugins> </build>
Step 3 - Configure .travis.yml
Next, setup your .travis.yml yaml configuration file. This file sets steps and configurations needed for Travis to run. There are many guides for this, read these first before writing the .travis.yml file:
http://docs.travis-ci.com/user/languages/java/
http://docs.travis-ci.com/user/travis-lint/
http://docs.travis-ci.com/user/ci-environment/#Environment-variables
One important note, is that Travis provides an “after_success” section you can add that will execute after every successful build. This is key for us, as we will add checks in this so that after every success we check for:
A git tag.
A specific JDK version (whatever version you want to publish from). This lets you build under multiple JDKs but publish under one.
Anything else we desire.
Given those checks pass, we run “mvn deploy” to publish our built artifacts.
Here’s an example .travis.yml:
language: java jdk: - oraclejdk7 - oraclejdk8 after_success: - mvn clean cobertura:cobertura coveralls:report javadoc:jar - test "${TRAVIS_PULL_REQUEST}" == "false" && test “${TRAVIS_JDK_VERSION}” == “oraclejdk7″ && test "${TRAVIS_TAG}" != "" && mvn deploy --settings travis/travis-settings.xml branches: only: - master # Build tags that match this regex in addition to building the master branch. - /^my_awesome_project-[0-9]+\.[0-9]+\.[0-9]+/ env: global: - secure: cfHTvABEszX79Dhj+u8/3EahMKKpAA2cqh7s3JACtVt5HMEXkkPbeAFlnywO+g4p2kVENcQGbZCiuz2FYBtN3KrIwFQabJE8FtpF57nswPRrmpRL+tWcYtipVC2Mnb4D7o6UR2PiC7g20/ - secure: cfHTvABEszX79Dhj+u8/3EahMKKpAA2cqh7s3JACtVt5HMEXkkPbeAFlnywO+g4p2kVENcQGbZCiuz2FYBtN3KrIwFQabJE8FtpF57nswPRrmpRL+tWcYtipVC2Mnb4D7o6UR2PiC7g20/
Notice that in the “after_success” part, I’m calling out to some other maven targets, and then testing for our conditions: not a pull request, has a tag, and finally doing the mvn deploy (passing in my travis-settings.xml file from step 2 above).
Also notice that I white-list the build to only build on master branch, and any tag that matches the regex for “my_awesome_project”.
Step 4 - Make a Release
Finally, lets make a release. For this, we use the maven release plugin from our local dev box.
Make sure you are caught up with #master branch (git fetch/pull).
Run mvn release:clean and mvn clean.
Now, run the maven release:
mvn release:prepare
This will bump our version in the pom, removing -SNAPSHOT, tag it with the version we say to (use the default, so the regex in travis matches), push commits/tags, and then bump the version and add -SNAPSHOT, making a final commit so the latest version is in git.
Ultimately travis sees this tag, and our after_success tests pass, and a ‘mvn deploy’ occurs, which, with the settings.xml, sends the artifacts into Travis at our repo and package we set up.
After every release you run, do a local mvn release:clean, and git fetch/pull.
Final Notes: The big end to end system
What do we get with this? We get a system that looks like this:
Good luck, and let me know how successful this works out for you in comments.
First things first – Bintray is not a competitor of GitHub. They complete each other, not compete. Here’s how (I love vienn diagrams):
Click to enlarge
Bintray is an organic next step for developing software at GitHub – once your sources are built – distribute them from Bintray. Our job is to make it as easy as possible for you, our fellow GitHubber.