LOG4J2-2293: Add required license files to SBT output artifacts
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j-scala/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j-scala/commit/1f4b789c Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j-scala/tree/1f4b789c Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j-scala/diff/1f4b789c Branch: refs/heads/master Commit: 1f4b789c3011a124d0d1c9ce3bceb29afb7c3ee8 Parents: 814f77d Author: Matt Sicker <boa...@gmail.com> Authored: Fri Mar 30 16:03:11 2018 -0500 Committer: Matt Sicker <boa...@gmail.com> Committed: Fri Mar 30 16:03:11 2018 -0500 ---------------------------------------------------------------------- build.sbt | 26 ++++++++++++++++++--- project/CopyResourcesPlugin.scala | 42 ++++++++++++++++++++++++++++++++++ src/changes/changes.xml | 3 +++ 3 files changed, 68 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j-scala/blob/1f4b789c/build.sbt ---------------------------------------------------------------------- diff --git a/build.sbt b/build.sbt index 386e479..5f52ed9 100644 --- a/build.sbt +++ b/build.sbt @@ -1,6 +1,24 @@ +/* + * 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 Dependencies._ //import OsgiKeys._ +enablePlugins(org.apache.logging.log4j.scala.sbt.copyresources.CopyResourcesPlugin) + lazy val metadataSettings = Seq( organization := "org.apache.logging.log4j", organizationName := "Apache Software Foundation", @@ -58,9 +76,11 @@ lazy val publishSettings = Seq( } yield Credentials("Sonatype Nexus Repository Manager", "repository.apache.org", username, password) }.toList, // FIXME: https://github.com/sbt/sbt/issues/3519 - updateOptions := updateOptions.value.withGigahorse(false) - // managedResources -// resourceGenerators in Compile += inlineTask(Seq(file("LICENSE.txt"), file("NOTICE.txt"))) + updateOptions := updateOptions.value.withGigahorse(false), + extraResources := Seq( + (baseDirectory.value / "LICENSE.txt", "META-INF/LICENSE"), + (baseDirectory.value / "NOTICE.txt", "META-INF/NOTICE") + ) ) lazy val releaseSettings = Seq( http://git-wip-us.apache.org/repos/asf/logging-log4j-scala/blob/1f4b789c/project/CopyResourcesPlugin.scala ---------------------------------------------------------------------- diff --git a/project/CopyResourcesPlugin.scala b/project/CopyResourcesPlugin.scala new file mode 100644 index 0000000..4c3b616 --- /dev/null +++ b/project/CopyResourcesPlugin.scala @@ -0,0 +1,42 @@ +/* + * 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. + */ +package org.apache.logging.log4j.scala.sbt.copyresources + +import sbt.Keys._ +import sbt._ + +/** + * Simple SBT plugin to copy in configured files into all output jars. + */ +object CopyResourcesPlugin extends AutoPlugin { + + object autoImport { + val extraResources = taskKey[Seq[(File, String)]]("Additional files to copy into packages") + + lazy val baseCopyResourceSettings: Seq[Setting[_]] = Seq( + extraResources := Nil, + mappings in (Compile, packageBin) ++= extraResources.value, + mappings in (Compile, packageSrc) ++= extraResources.value, + mappings in (Compile, packageDoc) ++= extraResources.value + ) + } + + import autoImport._ + + override lazy val projectSettings: Seq[Setting[_]] = baseCopyResourceSettings + +} http://git-wip-us.apache.org/repos/asf/logging-log4j-scala/blob/1f4b789c/src/changes/changes.xml ---------------------------------------------------------------------- diff --git a/src/changes/changes.xml b/src/changes/changes.xml index 8909c8b..f3863eb 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -31,6 +31,9 @@ - "remove" - Removed --> <release version="11.1" date="2018-MM-DD" description="GA Release 11.1"> + <action issue="LOG4J2-2293" dev="mattsicker" type="add"> + Add required license files to SBT output artifacts. + </action> <action issue="LOG4J2-2296" dev="mattsicker" type="add"> Add sbt-site plugin and website configuration. </action>