CocoaPods and Conda in Nexus Repository 3.19

October 02, 2019 By Brent Kostak

4 minute read time

New Supported Languages. More Stable Builds.

We are excited to officially announce native format support for CocoaPods and Conda dependency managers in Nexus Repository Manager 3.19. Over the last few months, Sonatype product teams have accelerated development for native support of new formats. Whether it be a format originated by our community, similar to APT, or driven by popular request from developer input -- we are listening.

The Challenger Build

As communities continue to grow and more developers use open source software from centralized repositories and package registries, a measure of uncertainty enters the developer environment. CocoaPods alone has over 66 thousand libraries and is used by 3 million applications. This uncertainty can lead to disappearing code and a greater chance certain packages will become inaccessible to developer projects and builds. In addition to the above, the following problems can lead to broken builds for developers:

  • Tag deletions for updating code or completely deleting tags on pods and packages
  • Repository deletions when authors are finished with code and do not realize other projects are dependent on their code
  • Renaming or changing the text case on repository names (GitHub allows developers and maintainers to easily rename or change the casing of a repository)
  • Network outages when the internet is unavailable and developers can not pull down the code (environmental situations authors and developers can not control)

All of these examples will break developer builds and progressively increase the risk of a significant impact as more developers use open source packages.

Clearly, there is a gap in consistent delivery of stable builds, but is there a solution? What can developers and organizations do to avoid these inefficiencies when using Cocoapods, Conda and other dependency and package managers with their source code repositories?

Pods, Packages & Proxies

In an ideal flow of components, the developer supply chain would be isolated from these problems of broken builds by using packages that are reliable and available at any time. These immutable snapshots of code, at a specific version, would be optimized for building applications. This is where Nexus Repository Manager and recent proxy support announcements start to unfold the solution. Nexus Repository Manager is the most widely used universal binary repository manager. Acting as an API Server that sits in the middle of version control systems and central repositories, Nexus Repository Manager is setup to store packages on your local storage.

As of Nexus Repository Manager 3.19.0, developers who use the Xcode platform to develop iOS applications with CocoaPods or the many other programming languages that Conda supports (Python, R, C, Ruby etc) can now take advantage of creating local proxy repositories for pods and packages. Several benefits of using Nexus Repository Manager with dependency and package managers can be seen below:

  • Reliable, continuous access from locally caching CocoaPods and Conda packages
  • Extensive search capabilities to easily find pods and packages
  • Faster builds from reduced network traffic
  • Privacy control to filter all package requests through Nexus
  • Full integration to build ecosystem and CI/CD pipelines
  • Building offline for developers who wish to work remote - No internet. No problem.
  • 100% open source and free with Nexus Repository OSS

Running Nexus in your organization allows complete control over your dependencies, increases developer productivity, and delivers the highest quality builds without any of the road blocks.

Throttle Up

Our team here at Sonatype has a mission to equip users, customers and first-timers with everything they need to understand the benefits of using Nexus Repository Manager. The path for open source innovation, depth of format coverage, and advanced repository management has been paved.

Check out the Nexus Repository Manager 3.19 release notes to see additional updates delivered in our latest release, including S3 performance and REST improvements, npm dist-tags, and Docker Windows images support.

Further knowledge and resources below:

Nexus Platform Product Webinar - Interested in what was delivered in the last few releases for Nexus Repository Manager? Grab a seat and hear the highlights from Sonatype Product Managers.

Nexus Repository Pro - For those ready for an enterprise edition of Nexus, test-drive Nexus Repository Pro with a free trial including staging functionality, dynamic storage, high availability, and professional support.

Sonatype Community - Head over to the Sonatype Community to surround yourself with like-minded developers, users, and Nexus innovators. You can also check us out on Twitter: @sonatype.

 

Tags: Sonatype Nexus, Nexus Repository, featured, Product, Post developers/devops, CocoaPods, Conda

Written by Brent Kostak

Brent is the Director of Product Marketing connecting developers and DevOps communities to Sonatype Nexus tools and technologies.