From a21ad5d1233b7777a430dc5a8dba605806ce954d Mon Sep 17 00:00:00 2001 From: Stanislav Poslavsky Date: Thu, 19 Oct 2017 12:42:16 +0300 Subject: [PATCH] Release version 2.0 --- rings.scaladsl/build.sbt | 23 ++++++++++++- rings.scaladsl/project/plugins.sbt | 5 +++ rings.scaladsl/sonatype.sbt | 24 +++++++++++++ .../cc/redberry/rings/scaladsl/Examples.scala | 19 ----------- rings/pom.xml | 34 +++++++++++++++++++ .../src/main/java/cc/redberry/rings/Ring.java | 3 ++ .../poly/univar/UnivariatePolynomial.java | 1 + 7 files changed, 89 insertions(+), 20 deletions(-) create mode 100644 rings.scaladsl/project/plugins.sbt create mode 100644 rings.scaladsl/sonatype.sbt diff --git a/rings.scaladsl/build.sbt b/rings.scaladsl/build.sbt index c5553f4..df10dd3 100644 --- a/rings.scaladsl/build.sbt +++ b/rings.scaladsl/build.sbt @@ -1,9 +1,15 @@ import sbt.Keys._ organization := "cc.redberry" + name := "rings.scaladsl" + version := "2.0" + scalaVersion := "2.12.3" + +crossScalaVersions := Seq("2.11.11", "2.12.3") + moduleName := name.value resolvers += Resolver.mavenLocal @@ -14,4 +20,19 @@ libraryDependencies ++= Seq( "com.novocode" % "junit-interface" % "0.11" % Test exclude("junit", "junit-dep") ) -crossScalaVersions := Seq("2.11.11", "2.12.3") \ No newline at end of file +publishTo := Some( + if (isSnapshot.value) + Opts.resolver.sonatypeSnapshots + else + Opts.resolver.sonatypeStaging +) + +import sbtrelease.ReleasePlugin.autoImport.ReleaseTransformations._ + +releaseCrossBuild := true // true if you cross-build the project for multiple Scala versions +releaseProcess := Seq[ReleaseStep]( + checkSnapshotDependencies, + runClean, + runTest, + releaseStepCommand("publishSigned") +) diff --git a/rings.scaladsl/project/plugins.sbt b/rings.scaladsl/project/plugins.sbt new file mode 100644 index 0000000..c61b3cc --- /dev/null +++ b/rings.scaladsl/project/plugins.sbt @@ -0,0 +1,5 @@ +addSbtPlugin("com.github.gseitz" % "sbt-release" % "1.0.6") +addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "2.0") +addSbtPlugin("com.jsuereth" % "sbt-pgp" % "1.1.0-M1") + + diff --git a/rings.scaladsl/sonatype.sbt b/rings.scaladsl/sonatype.sbt new file mode 100644 index 0000000..20be434 --- /dev/null +++ b/rings.scaladsl/sonatype.sbt @@ -0,0 +1,24 @@ + +// Your profile name of the sonatype account. The default is the same with the organization value +sonatypeProfileName := "cc.redberry" + +// To sync with Maven central, you need to supply the following information: +publishMavenStyle := true + +// License of your choice +licenses := Seq("APL2" -> url("http://www.apache.org/licenses/LICENSE-2.0.txt")) +homepage := Some(url("https://github.com/PoslavskySV/rings")) +scmInfo := Some( + ScmInfo( + url("https://github.com/PoslavskySV/rings"), + "scm:git@github.com:PoslavskySV/rings.git" + ) +) +developers := List( + Developer( + id = "PoslavskySV", + name = "Stanislav Poslavsky", + email = "stvlpos@mail.ru", + url = url("http://redberry.cc") + ) +) diff --git a/rings.scaladsl/src/test/scala/cc/redberry/rings/scaladsl/Examples.scala b/rings.scaladsl/src/test/scala/cc/redberry/rings/scaladsl/Examples.scala index 4c11a18..3b9ba60 100644 --- a/rings.scaladsl/src/test/scala/cc/redberry/rings/scaladsl/Examples.scala +++ b/rings.scaladsl/src/test/scala/cc/redberry/rings/scaladsl/Examples.scala @@ -717,23 +717,4 @@ class Examples { assert(r1 == r2 * div + rem) } } - - - @Test - def test1111 = { - - import cc.redberry.rings.poly.univar.UnivariateGCD._ - import syntax._ - - // The ring Z/17[x] - implicit val ring = UnivariateRingZp64(17, "x") - - val x = ring("x") - - val (gcd, s, t) = PolynomialExtendedGCD(1 + x + x.pow(2) + x.pow(3), 1 + 2 * x + 9 * x.pow(2)).tuple3 - - println(s) - println(t) - println(gcd) - } } \ No newline at end of file diff --git a/rings/pom.xml b/rings/pom.xml index 0b5f9ab..e8f8b5b 100644 --- a/rings/pom.xml +++ b/rings/pom.xml @@ -7,6 +7,12 @@ cc.redberry rings 2.0 + jar + rings + https://github.com/PoslavskySV/rings/ + + Rings: efficient Java/Scala library for polynomial rings + org.sonatype.oss @@ -15,6 +21,34 @@ + + + Apache License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0.txt + repo + + + + + + PoslavskySV + stvlpos@mail.ru + Stanislav Poslavsky + + architect + developer + tester + documentation + + UTC+04:00 + https://github.com/PoslavskySV + + + + + scm:git:https://github.com/PoslavskySV/rings.git + + diff --git a/rings/src/main/java/cc/redberry/rings/Ring.java b/rings/src/main/java/cc/redberry/rings/Ring.java index d7e7f41..ed80524 100644 --- a/rings/src/main/java/cc/redberry/rings/Ring.java +++ b/rings/src/main/java/cc/redberry/rings/Ring.java @@ -105,6 +105,7 @@ default boolean isFiniteField() { * @param elements elements to sum * @return sum of the array */ + @SuppressWarnings("unchecked") default E add(E... elements) { E r = elements[0]; for (int i = 1; i < elements.length; i++) @@ -156,6 +157,7 @@ default E decrement(E element) { * @param elements the elements * @return product of the array */ + @SuppressWarnings("unchecked") default E multiply(E... elements) { E r = elements[0]; for (int i = 1; i < elements.length; i++) @@ -326,6 +328,7 @@ default E lcm(E a, E b) { * @param elements the elements * @return gcd */ + @SuppressWarnings("unchecked") default E gcd(E... elements) { return gcd(Arrays.asList(elements)); } diff --git a/rings/src/main/java/cc/redberry/rings/poly/univar/UnivariatePolynomial.java b/rings/src/main/java/cc/redberry/rings/poly/univar/UnivariatePolynomial.java index 55ffc11..cff83e1 100644 --- a/rings/src/main/java/cc/redberry/rings/poly/univar/UnivariatePolynomial.java +++ b/rings/src/main/java/cc/redberry/rings/poly/univar/UnivariatePolynomial.java @@ -60,6 +60,7 @@ public static UnivariatePolynomial parse(String string, Ring ring) { * @param data the coefficients * @return new univariate polynomial over specified ring with specified coefficients */ + @SuppressWarnings("unchecked") public static UnivariatePolynomial create(Ring ring, E... data) { ring.setToValueOf(data); return new UnivariatePolynomial<>(ring, data);