Artifactory Adobe Public repository Set Me Up - artifactory

Required to get all required Adobe plugin from Adobe public repository through Artifactory
For this Under Set Me Up -> Adobe Public in Artifactory home page.
Now click it provide the password it gives resolution.
curl -u: -O "http://10.32.23.108:8081/artifactory/Adobe-Public/"
However when I try to execute the resolution in a Unix box it fails to download any plugin or jar files though it connects do not give any error but only 0% download.
Is there any other setting needed for this Adobe Public.

To proxy the Adobe Maven repository you need to perform the following steps:
Create a new remote repository in Artifactory - Admin -> Remote -> New
Choose maven as the repository type
Set a repository key, for example Adobe
Set the following as the repository URL - https://repo.adobe.com/nexus/content/groups/public
Click the "Test" button to make sure Artifactory can connect to the Adobe repository
Click Save & Finish
Make sure you can see the new repository in the Artifact Repository Browser. You can expand the tree to see the content of the remote repository.
Add the new repository to the libs-release virtual repository. This will allow to resolve Adobe artifacts using the libs-release repository.
If you have not done it already, generate a Maven settings.xml file using Set Me Up. Configure Maven with the generate settings.xml file. For more info see Maven Repositories
The above steps should allow you to resolve arifacts from the Adobe repository.
You should not use the Maven settings.xml from the adobe web site. This one is intended to be used when you resolve artifacts directly from their repository and not via Artifactory. There is no need to add the adobe-public profile.
This does not affect you distributionManagement settings in the pom file. Those are required for deploying your build artifacts.

Related

Cannot see the builds after publishing the artifacts

I am new to Artifactory and just going through the guides and trying out some sample code.
I am trying to publish a maven artifact to my artifactory server. I have followed the following steps to do it:
Through the "Set me up" tool, get the settings.xml file for maven.
Download and place the settings.xml file to the ~/.m2 folder
Clone the maven example repo from the artifactory examples available on git.
Update the pom.xml file and add the distributionManagement tag provided in the "Set me up" window.
Publish the code using mvn deploy
The binaries are published to the artifactory server and are available in the Artifact Repository Browser window. But I do not see any corresponding builds in the Build Browser. I also do not get any builds if I try to fetch them using the REST API
What am I missing? I followed the above steps because I saw it on the Introduction to Artifactory webinar video. Is there any setting that I need to change to see the builds in the Build Browser window?
I am using Artifactory Version 5.10.3 (OSS)
I think there is a misunderstanding, the maven example plugin is used for publishing artifacts to Artifactory, however, it doesn't publish Build Info.
In order for you to publish build info to Artifactory, you will either need to use CI server with Artifactory plugin (for example, Jenkins, Bamboo, Teamcity) or use the Maven Artifactory plugin:
https://www.jfrog.com/confluence/display/RTF/Maven+Artifactory+Plugin
That have the build information publish step inside.

SBT publishing snapshots to sonatype

I am working on a project and the source got open sourced and we've decided to publish to maven central.
https://github.com/mdsol/mauth-java-client/tree/refactor/publish_to_sonatype
Currently we are publishing to an internal repo and it allows publishing of SNAPSHOTS with timestamps so we can publish multiple time the same snapshot version. However, it looks like sonatype doesn't allow uploading with timestamps or overwriting.
How do I delete existing snapshot of sonatype so new one can be published as part of the sbt build? Also, do I sonatypeRelease the snapshots?
You have to create a Sonatype account, and then log in via their web front-end: https://oss.sonatype.org/
Once you did a sbt publishSigned, for example, you can then search for your package in the (staging) repositories and, if you are indeed logged in while doing that, delete or release it. (I found that sbt sonatypeRelease did not reliably release my package. So I ended up using their web front-end exclusively for the latter.)
This is outlined, more or less, also in the official sbt documentation:
https://www.scala-sbt.org/1.x/docs/Using-Sonatype.html#Third+-+Publish+to+the+staging+repository

How to deploy my own Jar file in Artifactory?

How can I deploy my own jar file into Artifactory. For example, I have my own plugin which requires to be uploaded/deployed as an artifact.
There are two ways to do that - REST API and the UI.
REST API is what the build and dependency management tools use. You can use Maven, Gradle or whatever build tool you use to upload the artifacts. The easiest way to set up your build tool to work with Artifactory is using the Set Me Up button in Artifactory UI. Go to the artifact browser, select the repository you want to upload to, and hit the Set Me Up button for instructions.
You can upload a file using Artifactory UI. Go to the artifact browser, select the repository you want to upload to, and hit the Upload button for instructions. Generally it's a not scalable solution, but for one artifact it's fine.

Nexus error "Could not find artifact" when the same Nexus displays artifact metadata

On the Sonatype.com website I can read the following
Nexus is a repository manager. It allows you to proxy, collect, and
manage your dependencies so that you are not constantly juggling a
collection of JARs. It makes it easy to distribute your software.
Internally, you configure your build to publish artifacts to Nexus and
they then become available to other developers. You get the benefits
of having your own ‘central’, and there is no easier way to
collaborate.
The part about "constantly juggling a collection of JAR" I find intriguing.
I my experience, this is exactly what the Nexus process looks like.
As an example. My build is failing with message
[ERROR] Failed to execute goal on project myproject: Could not resolve dependencies for project myproject:jar:1.0.0-SNAPSHOT: Could not find artifact net.sf.saxon:saxon-dom:jar:9.0 in nexus (https://mynexus:8443/nexus/content/groups/public/)
So supposedly the Nexus repo at https://mynexus:8443/nexus/content/groups/public/ does not contain this artifact.
Using the Nexus web interface I can however search and find this particular artifact. It is located in the Jboss Maven2 repo.
What I can also do is navigate the index of the Public Repositories and find this particular artifact saxon-dom version 9.0 manually by expanding the tree navigator. It is in the folder net\sf\saxon.
So my conclusion is that Nexus is exactly not doing what it is claiming to be doing. It is not helping me manage dependencies - I have to resolve those manually.
What results is exactly like constantly juggling collections of jars. I have to manually download those and put them on the class path in order to perform a build.
As a Repository Manager it does not look very useful.
As it turns out, I needed to wrap my brain around the way that Nexus deals with missing dependencies.
This issue I think that artifact saxon-dom was once part of the repo but removed at some point. See https://repository.jboss.org/nexus/content/groups/public/net/sf/saxon/saxon-dom/
So there still is some metadata but not the jar and the pom.
When I search for the artifact Nexus finds it based on this metadata. In search results I can see the jar and pom.
Now I mistakenly thought that the artifacts are found and in the repo. This is not the case because if we try to download the jar you see message similar to below.
So Nexus caches the 404, the fact that it was unable to find the artifact. But it is completely unclear in the UI that the result is a cached 404.

Alfresco Development . Working with All in one Archetype

I have created a multi module project in Alfresco using All-in-one Archetype of the Maven Alfresco SDK. I have selected 1.1.1 archetype version. The project directory was build successfully. But in that directory I couldnt find the wcmqs(Alfresco Web Quick Start) directory which is used to build websites. Can anyone help me hw to get this wcmqs, as I need to work with wcmqs for creating new pages and templetes in wcmqs?
The wcmqs module did used to be in the Maven Alfresco SDK but it never worked very well and caused other problems. It is however unnecessary to use the Maven Alfresco SDK if you wish to get started.
To get started with Alfresco Web Quick Start you just need to download and install the files. You can get the files from Sourceforge: http://sourceforge.net/projects/alfresco/files/Alfresco%204.2.f%20Community/
Installation should be straightforward. You need to install the AMPs on your Alfresco instance and deploy the WARs to a servlet container (like your Tomcat).
If you want to customise Web Quick Start, such as changing the model, that is a different matter. There is a short example here that you can go through to give you an idea of what you need to do:
http://ecmarchitect.com/archives/2011/01/06/1254

Resources