apply plugin: 'com.github.dcendents.android-maven'
apply plugin: 'com.jfrog.bintray'
// load properties
Properties properties = new Properties()
File localPropertiesFile = project.file("local.properties");
if(localPropertiesFile.exists()){
properties.load(localPropertiesFile.newDataInputStream())
}
File projectPropertiesFile = project.file("project.properties");
if(projectPropertiesFile.exists()){
properties.load(projectPropertiesFile.newDataInputStream())
}
//read properties
def projectName = properties.getProperty("project.name")
def projectGroupId = properties.getProperty("project.groupId")
def projectArtifactId = properties.getProperty("project.artifactId")
def projectVersionName = android.defaultConfig.versionName
def projectPackaging = properties.getProperty("project.packaging")
def projectSiteUrl = properties.getProperty("project.siteUrl")
def projectGitUrl = properties.getProperty("project.gitUrl")
def developerId = properties.getProperty("developer.id")
def developerName = properties.getProperty("developer.name")
def developerEmail = properties.getProperty("developer.email")
def bintrayUser = properties.getProperty("bintray.user")
def bintrayApikey = properties.getProperty("bintray.apikey")
def javadocName …Run Code Online (Sandbox Code Playgroud) 我一直在公司里使用JFrog Artifactory一段时间.最近我了解了JFrog Bintray.Artifactory和Bintray有什么区别?Bintray是Artifactory的替代品吗?
我有一个项目,昨天运行得很好,但是今天我发现这个问题:
无法解析配置“:app:debugRuntimeClasspath”的所有文件。无法解析 com.google.android.gms:play-services-location:16.+。必需者:项目:app > 项目:位置 > 无法列出 com.google.android.gms:play-services-location 的版本。> 无法从https://google.bintray.com/exoplayer/com/google/android/gms/play-services-location/maven-metadata.xml加载 Maven 元数据。> 无法获取资源“https://google.bintray.com/exoplayer/com/google/android/gms/play-services-location/maven-metadata.xml”。> 无法获取“https://google.bintray.com/exoplayer/com/google/android/gms/play-services-location/maven-metadata.xml”。从服务器收到状态代码 502:网关错误
实际上我正在使用classpath 'com.android.tools.build:gradle:4.1.0'with distributionUrl=https://services.gradle.org/distributions/gradle-6.5-bin.zip。
我已经关注了这个问题
并升级 'com.android.tools.build:gradle:4.1.0'到了 classpath 'com.android.tools.build:gradle:4.2.0'。
然后我改成distributionUrl=https://services.gradle.org/distributions/gradle-6.5-bin.zip了,distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip但仍然出现错误。
安卓/build.gradle:
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:4.2.0'
}
}
allprojects {
repositories {
google()
jcenter()
}
}
rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(':app')
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Run Code Online (Sandbox Code Playgroud)
gradle-wrapper.properties:
distributionBase=GRADLE_USER_HOME …Run Code Online (Sandbox Code Playgroud) 尝试上传项目bintray并获得错误:
Could not determine java version from '9.0.1'.
我读到它的等级错误,它修复了上层版本,我尝试更改gradle版本4.2.1,但得到另一个错误:
Gradle sync失败:没有这样的属性:FOR_RUNTIME for class:org.gradle.api.attributes.Usage有关详细信息,请参阅IDE日志(帮助|显示日志)(571ms)
Gradle属性:
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.2.1-all.zip
Run Code Online (Sandbox Code Playgroud)
建立gradle项目
buildscript {
ext.kotlin_version = '1.1.51'
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0-beta7'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.novoda:bintray-release:0.5.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Run Code Online (Sandbox Code Playgroud) 我是Gradle和bintray的新手.我想发布这个项目,以便Maven和SBT用户可以随时使用它.我不是这个包的原作者; 它似乎已被抛弃 ; 我只想发布当前的HEAD.
~/.gradle/gradle.properties 是这样的:
bintrayUser=mslinn
bintrayKey=blahblah
Run Code Online (Sandbox Code Playgroud)
build.gradle 看起来像这样:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0'
}
}
apply plugin: 'com.jfrog.bintray'
allprojects {
apply plugin: 'idea'
group = 'org.jfrog.example.bintray.gradle'
version = '1.0'
}
subprojects {
apply plugin: 'java'
apply plugin: 'maven-publish'
apply plugin: 'com.jfrog.bintray'
sourceCompatibility = 1.6
targetCompatibility = 1.6
dependencies {
testCompile 'junit:junit:4.7'
}
// custom tasks for creating source/javadoc jars
task sourcesJar(type: Jar, dependsOn: classes) {
classifier = 'sources'
from sourceSets.main.allSource …Run Code Online (Sandbox Code Playgroud) 我是juste 在我的项目中添加了一些flavors(或者productFlavors如果你想要的话).
事实是,当我将库发布到bintray时,所有的风格都被上传(这很棒),但我无法使用它们.使用该插件是官方的一个在这里.
上传的aar:
androidsdk-0.0.4-fullRelease.aar
androidsdk-0.0.4-fullDebug.aar
androidsdk-0.0.4-lightRelease.aar
androidsdk-0.0.4-lightDebug.aar
Run Code Online (Sandbox Code Playgroud)
如您所知,它fullRelease被命名为classifier,参见文档章节23.4.1.3.
我正在寻找一种解决方案来选择我要上传的口味.
我已经看过bintray的例子(这里和这里)和这个,还有其他例子,但我仍然卡住了.
这是我目前的脚本:
apply plugin: 'com.android.library'
apply plugin: 'com.github.dcendents.android-maven'
apply plugin: 'com.jfrog.bintray'
buildscript {
repositories {
jcenter()
}
}
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
minSdkVersion 9
targetSdkVersion 23
versionCode 64
versionName "0.0.4"
}
publishNonDefault true
productFlavors {
full {
}
light {
}
}
}
dependencies …Run Code Online (Sandbox Code Playgroud) android bintray android-gradle-plugin android-productflavors
我刚刚注意到Gradle 发布了2.12版,根据发行说明,脚本的编译速度提高了20%.我想在Android Studio中升级到该版本.
我使用V1.5.1和设置,我选择了"使用默认gradle这个包装"选项,这意味着不是使用本地gradle这个是安装每一个项目,一个特定版本的Gradle将用于每个项目.使用的版本是build.gradle文件中定义的版本.例:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.5.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
Run Code Online (Sandbox Code Playgroud)
现在如果我改变它:
classpath 'com.android.tools.build:gradle:2.12'
Run Code Online (Sandbox Code Playgroud)
然后Android Studio找不到该版本并抛出错误.显然,AS首先尝试在本地缓存中找到二进制文件(Android Studio/gradle/m2repository),然后尝试从bintray下载它:
https://jcenter.bintray.com/com/android/tools/build/gradle/2.12/gradle-2.12.jar
Run Code Online (Sandbox Code Playgroud)
浏览已发布的版本看起来像这里的最新版本是v2.1.0-alpha1.
我看到像shields.io或类似的网站,他们有这些标记的剪辑来显示徽章...但如果我剪切'粘贴这些它只是演示值.我怎样才能使它"真实".
例如,Bintray有他们自己的"最新版本徽章"降价,工作正常.我认为"盾牌"网站正试图标准化这些徽章的外观,并声称Bintray是他们支持的服务之一.
我怎样才能真正使用他们漂亮的徽章并从Bintray中提取我的版本数据?
我正在尝试将ExoPlayer库导入我的Android Studio项目.我用几种方法尝试了几次(直接用GRADLE导入),导入为模块,复制粘贴它,我得到同样的错误:
Error:(15) A problem occurred evaluating project ':..:ExoPlayer:library'.
> Failed to apply plugin [id 'bintray-release']
> Plugin with id 'bintray-release' not found.
Run Code Online (Sandbox Code Playgroud)
在库gradle中,我找到了apply plugin行:
apply plugin: 'bintray-release'
Run Code Online (Sandbox Code Playgroud)
搜索库并将其应用于依赖项之后,我仍然遇到错误:
dependencies {
compile 'com.novoda:bintray-release:0.2.10'
}
Run Code Online (Sandbox Code Playgroud)
任何Ideea我怎么能解决这个问题?
我有一个基于Java的GitHub项目,fitnessjiffy-spring(我目前专注于"bootstrap"分支).它取决于从另一个GitHib项目(fitnessjiff- etl)构建的库.我正在尝试配置由Travis CI构建的这两个.
不幸的是,Travis在处理基于Maven的Java项目时并不像Jenkins或Hudson那样复杂.Jenkins可以轻松处理项目之间的依赖关系,但Travis似乎并不存在相同的概念.如果一个项目依赖于另一个项目,那么其他项目必须先前已经构建...并且其工件上传到某个Maven仓库,第一个项目可以在以后下载.
我的"fitnessjiffy-etl"图书馆正在建设和部署.我正在使用Bintray进行Maven存储库托管,您可以通过以下方式在纯HTTP上清楚地看到我的工件:
http://dl.bintray.com/steve-perkins/maven/
在我的"fitnessjiffy-spring"项目中,我将直接添加此Maven repo位置pom.xml,以便Travis能够找到该工件依赖项. 这是我撰写本文时POM的状态.请注意<repositories>文件底部的元素.
当我在本地构建这个项目时,它工作正常.我可以看到它从" http://dl.bintray.com/ ..." 下载Maven工件.但是,当我尝试在Travis CI上构建时,它每次都会失败.我可以在控制台日志中看到Travis仍在尝试从Maven Central下载工件而不是我指定的repo.
这对其他人有意义吗?为什么Maven在本地构建时在POM文件中使用自定义存储库位置,但在Travis CI构建上运行时忽略此配置?