[ 
https://issues.apache.org/jira/browse/GEARPUMP-226?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15646275#comment-15646275
 ] 

ASF GitHub Bot commented on GEARPUMP-226:
-----------------------------------------

Github user manuzhang commented on a diff in the pull request:

    https://github.com/apache/incubator-gearpump/pull/108#discussion_r86915123
  
    --- Diff: project/BuildGearpump.scala ---
    @@ -0,0 +1,258 @@
    +/*
    + * Licensed to the Apache Software Foundation (ASF) under one
    + * or more contributor license agreements.  See the NOTICE file
    + * distributed with this work for additional information
    + * regarding copyright ownership.  The ASF licenses this file
    + * to you under the Apache License, Version 2.0 (the
    + * "License"); you may not use this file except in compliance
    + * with the License.  You may obtain a copy of the License at
    + *
    + *      http://www.apache.org/licenses/LICENSE-2.0
    + *
    + * Unless required by applicable law or agreed to in writing, software
    + * distributed under the License is distributed on an "AS IS" BASIS,
    + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    + * See the License for the specific language governing permissions and
    + * limitations under the License.
    + */
    +
    +import com.typesafe.sbt.SbtPgp.autoImport._
    +import BuildExamples.examples
    +import BuildExperiments.experiments
    +import BuildExternals.externals
    +import BuildIntegrationTests.integrationTests
    +import BuildDashboard.services
    +import Dependencies._
    +import Docs._
    +import de.johoop.jacoco4sbt.JacocoPlugin.jacoco
    +import sbt.Keys._
    +import sbt._
    +import Pack.packProject
    +import sbtassembly.AssemblyPlugin.autoImport._
    +
    +import xerial.sbt.Sonatype._
    +
    +object BuildGearpump extends sbt.Build {
    +
    +  val apacheRepo = "https://repository.apache.org/";
    +  val distDirectory = "output"
    +  val projectName = "gearpump"
    +
    +  val commonSettings = Seq(jacoco.settings: _*) ++ sonatypeSettings ++
    +    Seq(
    +      resolvers ++= Seq(
    +        "patriknw at bintray" at "http://dl.bintray.com/patriknw/maven";,
    +        "apache-repo" at 
"https://repository.apache.org/content/repositories";,
    +        "maven1-repo" at "http://repo1.maven.org/maven2";,
    +        "maven2-repo" at "http://mvnrepository.com/artifact";,
    +        "sonatype" at 
"https://oss.sonatype.org/content/repositories/releases";,
    +        "bintray/non" at "http://dl.bintray.com/non/maven";,
    +        "clockfly" at "http://dl.bintray.com/clockfly/maven";,
    +        "clojars" at "http://clojars.org/repo";
    +      )
    +      // ,addCompilerPlugin("org.scalamacros" % "paradise" % "2.1.0-M5" 
cross CrossVersion.full)
    +    ) ++
    +    Seq(
    +      scalaVersion := scalaVersionNumber,
    +      crossScalaVersions := crossScalaVersionNumbers,
    +      organization := "org.apache.gearpump",
    +      useGpg := false,
    +      pgpSecretRing := file("./secring.asc"),
    +      pgpPublicRing := file("./pubring.asc"),
    +      scalacOptions ++= Seq("-Yclosure-elim", "-Yinline"),
    +      publishMavenStyle := true,
    +
    +      pgpPassphrase := 
Option(System.getenv().get("PASSPHRASE")).map(_.toArray),
    +      credentials += Credentials(
    +        "Sonatype Nexus Repository Manager",
    +        "repository.apache.org",
    +        System.getenv().get("SONATYPE_USERNAME"),
    +        System.getenv().get("SONATYPE_PASSWORD")),
    +
    +      pomIncludeRepository := { _ => false },
    +
    +      publishTo := {
    +        if (isSnapshot.value) {
    +          Some("snapshots" at apacheRepo + 
"content/repositories/snapshots")
    +        } else {
    +          Some("releases" at apacheRepo + "content/repositories/releases")
    +        }
    +      },
    +
    +      publishArtifact in Test := true,
    +
    +      pomExtra := {
    +        <url>https://github.com/apache/incubator-gearpump</url>
    +          <licenses>
    +            <license>
    +              <name>Apache 2</name>
    +              <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
    +            </license>
    +          </licenses>
    +          <scm>
    +            
<connection>scm:git://git.apache.org/incubator-gearpump.git</connection>
    +            
<developerConnection>scm:git:g...@github.com:apache/incubator-gearpump</developerConnection>
    +            <url>github.com/apache/incubator-gearpump</url>
    +          </scm>
    +          <developers>
    +            <developer>
    +              <id>gearpump</id>
    +              <name>Gearpump Team</name>
    +              
<url>http://gearpump.incubator.apache.org/community.html#who-we-are</url>
    +            </developer>
    +          </developers>
    +      }
    +    )
    +
    +  val noPublish = Seq(
    +    publish := {},
    +    publishLocal := {},
    +    publishArtifact := false,
    +    publishArtifact in Test := false
    +  )
    +
    +
    +
    +  lazy val myAssemblySettings = Seq(
    +    test in assembly := {},
    +    assemblyOption in assembly ~= {
    +      _.copy(includeScala = false)
    +    },
    +    assemblyJarName in assembly := {
    +      s"${name.value}_${scalaBinaryVersion.value}-${version.value}.jar"
    +    },
    +    target in assembly := baseDirectory.value / "target" / 
scalaBinaryVersion.value
    +  )
    +
    +  lazy val aggregated: Seq[ProjectReference] = Seq[ProjectReference](
    +    core,
    +    streaming,
    +    services,
    +    gearpumpHadoop,
    +    packProject
    +  ) ++ examples ++ experiments ++ externals ++ integrationTests
    +
    +  lazy val root = Project(
    +    id = "gearpump",
    +    base = file("."),
    +    settings = commonSettings ++ noPublish ++ gearpumpUnidocSetting,
    +    aggregate = aggregated)
    +    .settings(Defaults.itSettings: _*)
    +    .disablePlugins(sbtassembly.AssemblyPlugin)
    +
    +  lazy val core = Project(
    +    id = "gearpump-core",
    +    base = file("core"),
    +    settings = commonSettings ++ myAssemblySettings ++ javadocSettings ++ 
coreDependencies ++
    +      addArtifact(Artifact("gearpump-core"), 
sbtassembly.AssemblyKeys.assembly) ++ Seq(
    +      assemblyShadeRules in assembly := Seq(
    +        ShadeRule.zap("akka.**").inAll,
    +        ShadeRule.zap("com.google.protobuf.**").inAll,
    +        ShadeRule.zap("com.typesafe.**").inAll,
    +        ShadeRule.zap("net.jpountz.**").inAll,
    +        ShadeRule.zap("org.apache.commons.**").inAll,
    +        ShadeRule.zap("org.apache.log4j.**").inAll,
    +        ShadeRule.zap("org.jboss.**").inAll,
    +        ShadeRule.zap("org.objectweb.**").inAll,
    +        ShadeRule.zap("org.reactivestreams.**").inAll,
    +        ShadeRule.zap("org.slf4j.**").inAll,
    +        ShadeRule.zap("org.uncommons.maths.**").inAll,
    +        ShadeRule.zap("scala.**").inAll,
    +        ShadeRule.zap("spray.**").inAll,
    +        ShadeRule.rename("com.romix.**" -> 
"org.apache.gearpump.romix.@1").inAll,
    +        ShadeRule.rename("com.esotericsoftware.**" ->
    +          "org.apache.gearpump.esotericsoftware.@1").inAll,
    +        ShadeRule.rename("org.objenesis.**" -> 
"org.apache.gearpump.objenesis.@1").inAll,
    +        ShadeRule.rename("com.google.**" -> 
"org.apache.gearpump.google.@1").inAll,
    +        ShadeRule.rename("com.codahale.metrics.**" ->
    +          "org.apache.gearpump.codahale.metrics.@1").inAll
    +      ),
    +
    +      pomPostProcess := {
    +        (node: xml.Node) => changeShadedDeps(
    +          Set(
    +            "com.github.romix.akka",
    +            "com.google.guava",
    +            "com.codahale.metrics",
    +            "org.scala-lang",
    +            "org.scoverage"
    +          ), List.empty[xml.Node], node)
    +      }
    +    ))
    +
    +  lazy val streaming = Project(
    +    id = "gearpump-streaming",
    +    base = file("streaming"),
    +    settings = commonSettings ++ myAssemblySettings ++ javadocSettings ++
    +      addArtifact(Artifact("gearpump-streaming"), 
sbtassembly.AssemblyKeys.assembly) ++
    +      Seq(
    +        assemblyShadeRules in assembly := Seq(
    +          ShadeRule.rename("com.gs.collections.**" ->
    +            "org.apache.gearpump.gs.collections.@1").inAll
    +        ),
    +
    +        assemblyMergeStrategy in assembly := {
    +          case "geardefault.conf" =>
    +            MergeStrategy.last
    +          case x =>
    +            val oldStrategy = (assemblyMergeStrategy in assembly).value
    +            oldStrategy(x)
    +        },
    +
    +        libraryDependencies ++= Seq(
    +          "com.goldmansachs" % "gs-collections" % gsCollectionsVersion
    +        ),
    +
    +        pomPostProcess := {
    --- End diff --
    
    they are now transitive dependencies and will be added the published pom 
file


> run 'sbt clean assembly' failed
> -------------------------------
>
>                 Key: GEARPUMP-226
>                 URL: https://issues.apache.org/jira/browse/GEARPUMP-226
>             Project: Apache Gearpump
>          Issue Type: Bug
>            Reporter: Huafeng Wang
>




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to