Hay una guide to the central repository que tiene una sección sobre los proyectos de subir que pueden ayudar. Si nada más puede verificar las convenciones de nomenclatura y los requisitos mínimos de información en contra de su proyecto.
Sonatype también hace alojamiento de repositorio OSS, vea their guide para más detalles.
Actualización: No estoy diciendo que deba cambiar el proceso de compilación, si Ant funciona para que usted lo respete. Vale la pena seguir las convenciones de Maven en tu POM, independientemente de tu método de compilación. Como el objetivo de poner su jar en un repositorio de Maven es hacerlo accesible para los usuarios de Maven, por lo tanto, necesitará definir un POM para su artefacto publicado. Seguir las convenciones de nomenclatura ayudará a sus usuarios, por lo que también podría hacerlo. Por ejemplo, agregar los detalles de SCM al pom (entre otras cosas) permitirá a los usuarios importar el proyecto en su espacio de trabajo utilizando las integraciones de IDE para Maven.
Básicamente, usted tiene 4 opciones:
- Realizar una Maven estándar de construcción contra un repositorio de Maven (ya descartado)
- prepara un repositorio Maven, hacer su obra con la hormiga, y el uso de Maven para implementar el jar y POM.
- Configurar un repositorio Maven, publicitarias de utilizar una tarea HTTP Ant para publicar los artefactos
- Use una subversión "repositorio", y utilizar la tarea SvnAnt publicar los artefactos
Opción 1
Utilice Maven para compilar e implementar los artefactos (consulte el Maven book y los enlaces anteriores para obtener más información).
Opción 2
Asumiendo que tiene un proceso de construcción que crea el frasco, y que ha definido el POM, lo mejor es publicar en el repositorio Sonatype OSS que el anterior.
implementación de un frasco existente a un repositorio estándar Maven es simple con el Maven desplegar objetivo implementar en archivos de plugin:
- Configurar el repositorio (por ejemplo en los servidores Sonatype elevando una Jira request) Construir
- tu jarra con Ant.
- Si ha definido un POM, colóquelo en el mismo directorio que el jar.
Ejecutar el despliegue de archivos objetivo:
mvn despliegue: desplegar-file = -Durl http://path/to/your/repository \ -DrepositoryId = some.id \ -dfile = ruta-a-su-artefacto-jar \ - DpomFile =-ruta-a-tu pom.xml
Tenga en cuenta que el objetivo desplegar Maven se traducirá automáticamente el pom.xml a [nombre-proyecto] - .pom [versión]. Si está haciendo alguna de las otras dos alternativas, tendrá que asegurarse de confirmar el POM con el nombre final, es decir [nombre del proyecto] - [versión] .pom. También deberá asegurarse de componer las rutas relativas para los artefactos siguiendo las convenciones de Maven.
E.g. para groupId = com.foo.bar, artifactId = mi-proyecto version = 1.0.0, la ruta de los archivos será:
/com/foo/bar/my-project/my-project-1.0.0.jar
/com/foo/bar/my-project/my-project-1.0.0.pom
Opción 3
Si desea use Ant para implementar en un repositorio de Maven, puede usar un Ant HTTP library (tenga en cuenta que no he probado esto por mi cuenta). Debería componer dos tareas de HTTP, una para el jar y otra para el POM.
<httpput url="http://path/to/your/repository" putFile="/path/to/yourproject.pom">
<userCredentials username="user" password="password"/>
</httpput>
<httpput url="http://path/to/your/repository" putFile="/path/to/yourproject.jar">
<userCredentials username="user" password="password"/>
</httpput>
Opción 4
Si se quiere evitar por completo Maven y Ant utilizar para desplegar a un repositorio respaldado por SVN, se puede utilizar el SvnAnt Subversion library. simplemente necesitaría configurar la tarea Svn import para agregar sus artefactos al repositorio remoto de Subversion.
<import path ="/dir/containing/the/jar/and/pom"
url="svn://your/svn/repository"
message="release"/>
Qué proyecto de código abierto es que por el camino? –
@Bno, vea http://code.google.com/p/equalsverifier/ – jqno
¡thx, se ve muy bien! –