- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Java 8 java.time JSP tags 的维护者图书馆。我自己出版图书馆的经验很少。为了发布这个库,我做了一些研究并以 gradle 构建脚本 that you can check in GitHub 结束。 。这个过程有点笨拙,但最终还是有效的。
人们似乎普遍认为 jcenter()
存储库正在获得大量关注。可能是安卓的原因。无论如何我看到了an encouraging blog post并决定尝试一下并将该库迁移到 JCenter 发布而不是 Maven Central。应该很容易。
至少对我来说不是。可能是我的错,因为我对 Maven、工件和所有这些东西的了解很差。不管怎样,我花了几个小时的时间进行研究,并提出了一个新的 gradle 版本,并将其发布到我的 Bintray maven 存储库。如果我没记错的话,这是发布到 JCenter 的第一步。
这是我到目前为止所拥有的:
plugins {
id "com.jfrog.bintray" version "1.6"
}
apply plugin: 'java'
apply plugin: 'maven-publish'
group = 'net.sargue'
version = '1.1.2'
sourceCompatibility = 1.8
compileJava.options.encoding = 'UTF-8'
compileTestJava.options.encoding = 'UTF-8'
repositories {
jcenter()
}
configurations {
testCompile.extendsFrom compileOnly
}
dependencies {
compileOnly 'javax.servlet:javax.servlet-api:3.0.1'
compileOnly 'javax.servlet.jsp:javax.servlet.jsp-api:2.2.1'
compileOnly 'javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:1.2.1'
testCompile 'junit:junit:4.12'
testCompile 'org.springframework:spring-test:4.1.7.RELEASE'
}
jar {
manifest {
attributes 'Implementation-Title': 'Java 8 java.time JSP tags',
'Implementation-Version': version
}
}
task javadocJar(type: Jar) {
classifier = 'javadoc'
from javadoc
}
task sourcesJar(type: Jar) {
classifier = 'sources'
from sourceSets.main.allSource
}
publishing {
publications {
MyPublication(MavenPublication) {
from components.java
artifact sourcesJar
artifact javadocJar
artifactId 'java-time-jsptags'
pom.withXml {
asNode().children().last() + {
resolveStrategy = Closure.DELEGATE_FIRST
name 'Java 8 java.time JSP tags'
description 'JSP tag support for Java 8 java.time (JSR-310)'
url 'https://github.com/sargue/java-time-jsptags'
scm {
connection 'scm:git:git@github.com:sargue/java-time-jsptags.git'
developerConnection 'scm:git:git@github.com:sargue/java-time-jsptags.git'
url 'git@github.com:sargue/java-time-jsptags.git'
}
licenses {
license {
name 'The Apache License, Version 2.0'
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
}
}
developers {
developer {
id 'sargue'
name 'Sergi Baila'
email 'sargue@gmail.com'
}
}
}
}
}
}
}
bintray {
user = BINTRAY_USER
key = BINTRAY_KEY
publications = ['MyPublication']
pkg {
repo = 'maven'
name = 'java-time-jsptags'
licenses = ['Apache-2.0']
vcsUrl = 'https://github.com/sargue/java-time-jsptags.git'
version {
name = project.version
desc = 'Java 8 java.time JSP tags'
gpg {
sign = true
passphrase = BINTRAY_GPG
}
}
}
}
您可以在my public Bintray maven repository上找到最新发布的结果。您可以将其与 the same version currently available on Maven Central 的文件进行比较.
如果您到目前为止正在阅读本文,那么恭喜您,因为我还没有提出任何问题。对此感到抱歉。
我的问题:
gradle 构建脚本是否正确且正确/规范?鉴于该库非常简单,我发现构建脚本庞大且笨重。它应该更容易,甚至有一个 gradle 插件。但新脚本比 Maven 中心脚本长。
*.md5
和 *.sha1
文件怎么样?将由 JCenter、Maven Central、同步过程生成...还是我应该这样做?
鉴于存储库上没有取消发布功能,是否有某种方法可以在不发布库的实际版本的情况下测试所有这些? (并且有充分的理由,嗯?有人左键吗?)。
最佳答案
首先,很好地解决了这个问题。看起来不错,而且效果也不错。
它比另一个更大,不是因为你使用 Bintray 而不是 Central,而是因为你使用 maven-publish
插件而不是 maven
,而且功能更强大,配置有点详细。您可以将 Bintray(和 bintray
插件)与 maven
和 maven-publish
一起使用,无论您喜欢什么。
重新测试它 - 您始终可以针对您的私有(private)存储库运行测试构建(单击“Set Me Up”按钮以获取有关如何设置 Maven 和/或 Gradle 以从中解析的说明)。
另一个验证将同步到 Maven Central。如果您的包元数据有问题,它将失败。
关于 md5 和 sha1,我们没有理由将可计算元数据作为文件存储在现代分发平台上,但我们在同步时将它们发送到 Maven Central。
关于java - 如何迁移gradle发布脚本将OSS库发布到Bintray的JCenter而不是Sonatype的Maven Central,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36937005/
有人使用过Sonatype Insight-Application Health Checker吗?它要求您扫描应用程序(war、jar、zip 等),然后将其结果上传到Sonatype Insigh
Sonatype Nexus 使用 镜像地址: https://hub.docker.com/r/sonatype/nexus 注意: -v映射的容器目录nexus2跟nexus3是有区别,且访问
Sonatype Nexus3 镜像地址: https://hub.docker.com/r/sonatype/nexus3 注意: -v映射的容器目录nexus2跟nexus3是有区别,且访问地
我遇到了无法解决的问题。 我买了一个便宜的vps,用ubuntu 12.10然后安装了tomcat7、maven和nexus。所有这些都是最新的。这是一个全新的安装。我启动并部署了nexus,cata
我们使用 Sonatype Nexus 来管理不同的存储库。有一个请求将受密码保护的存储库添加到我们的“公共(public)存储库”组。问题是,我真的不知道如何做到这一点。 我可以创建一个新的 rep
我正在使用本地 Sonaty Nexus,我在其中代理了几个外部 Maven 存储库。到目前为止,代理只有 http 存储库,但对于某些 Artifact ,我不得不引入 Camunda .使用 Ne
我正在尝试获取可用于 org.atmosphere 的 Atmosphere 快照版本,但似乎无法获取... oss.sonatype.org-snapshot
我正在尝试为我的公司建立一个新的构建环境,他们对他们愿意在第三方产品中接受哪些许可证有严格的规定,而 GPL 不在批准的列表中。 我认为 MavenCentral 上只有极少数模块是 GPL,但存在一
我正在努力将SNAPSHOT Artifact 上传到Sonatype oss。我可以上传 Artifact :https://oss.sonatype.org/content/repositorie
我似乎找不到有关如何通过Docker容器名称设置内容选择器的文档。 我试图找到名称中带有“_api”的所有容器: format == "docker" and name =~ "_api" 这似乎不起
在我的内部 Sonatype Nexus 中,存储库(例如 Codehaus 快照)的路由选项卡上写着 --- Publishing --- | Status: Not published |
我安装了 Sonatype Nexus,我有默认用户 admin/admin123。现在我将 Authenticating Realm 更改为 LDAP 并删除了 XML Authenticating
我们正在为我们的公司项目使用 Sonatype Nexus 托管我们自己的私有(private) Maven 存储库。现在我们的客户想要参与开发我们的新项目,该项目依赖于我们 Nexus 服务器上的一
我通过Maven By Example学习了Maven 。在第 4 章中,要求使用原型(prototype)插件( Find it here )生成 Maven 项目。我一直在尝试使用 Mvn arc
关闭。这个问题需要更多focused .它目前不接受答案。 想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post . 4年前关闭。 Improve this questi
我使用 Sonatype Nexus 作为 Docker Registry,一段时间后,它变得非常大(每个 CI 构建的新图像和一些旧项目)。 我尝试使用“清除未使用的 docker list 和图像
我使用的是 Sonatype Nexus OSS 3.2 版。谁能指导我如何自定义 Nexus 运行的端口? 我找不到任何配置文件来自定义端口和自定义上下文路径? 目前 Nexus 正在运行 http
我正在尝试使用 docker 安装 sonatype-nexus 并希望共享 docker /opt/sonatype-work nexus repo 与主机 (linux ubuntu 14.04)
我使用sonatype nexus进行Maven存储库处理。 我们的项目需要使用http://jcenter.bintray.com/存储库。 但是,如果我将jcenter添加为我们的nexus服务器
我在 LAN 中部署了 sonatype nexus 服务器,将一些远程存储库映射到我的公共(public)存储库: alt text http://img576.imageshack.us/img5
我是一名优秀的程序员,十分优秀!