Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[AG-42] Support sbt-plugin-releases repositories when parsing Scala SBT plugins #28

Open
felipead opened this issue Jan 11, 2018 · 0 comments

Comments

@felipead
Copy link
Contributor

When parsing Scala dependencies from SBT files, we find many SBT plugins declared as follows:

addSbtPlugin("com.cavorite" % "sbt-avro" % "0.3.2")
addSbtPlugin("com.julianpeeters" % "sbt-avrohugger" % "latest.integration")

These dependencies are fetched from specific repositories (they use the Ivy format). For instance, information about the com.cavorite:sbt-avro dependency is fetched from:

http://dl.bintray.com/sbt/sbt-plugin-releases/com.cavorite/sbt-avro/scala_2.10/sbt_0.13/1.1.0/ivys/ivy.xml

Licensing and dependencies information can be obtained from processing this XML file:

<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="2.0" xmlns:e="http://ant.apache.org/ivy/extra">
	<info organisation="com.cavorite" module="sbt-avro" revision="1.1.0" status="release" publication="20161213163356" e:sbtVersion="0.13" e:scalaVersion="2.10">
		<license name="BSD 3-Clause" url="https://github.com/sbt/sbt-avro/blob/master/LICENSE"/>
		<description>
		Sbt plugin for compiling Avro sources
		</description>
	</info>
	<configurations>
		<conf name="compile" visibility="public" description=""/>
		<conf name="runtime" visibility="public" description="" extends="compile"/>
		<conf name="test" visibility="public" description="" extends="runtime"/>
		<conf name="provided" visibility="public" description=""/>
		<conf name="optional" visibility="public" description=""/>
		<conf name="sources" visibility="public" description=""/>
		<conf name="docs" visibility="public" description=""/>
		<conf name="pom" visibility="public" description=""/>
	</configurations>
	<publications>
		<artifact name="sbt-avro" type="jar" ext="jar" conf="compile"/>
		<artifact name="sbt-avro" type="src" ext="jar" conf="sources" e:classifier="sources"/>
		<artifact name="sbt-avro" type="doc" ext="jar" conf="docs" e:classifier="javadoc"/>
	</publications>
	<dependencies>
		
		<dependency org="org.scala-lang" name="scala-library" rev="2.10.6" conf="provided->default(compile)"/>
		<dependency org="org.scala-sbt" name="sbt" rev="0.13.12" conf="provided->default(compile)"/>
		<dependency org="org.apache.avro" name="avro" rev="1.7.7" conf="compile->default(compile)"/>
		<dependency org="org.apache.avro" name="avro-compiler" rev="1.7.7" conf="compile->default(compile)"/>
		<dependency org="org.specs2" name="specs2-core_2.10" rev="3.6.4" conf="test->default(compile)"/>
		
		
	</dependencies>
</ivy-module>

This is an (incomplete) list of sbt-plugin-releases repositories used by most projects:

Going forward, all sbt plugins can be classified as development dependencies.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant