Giter VIP home page Giter VIP logo

srcdeps-core's Introduction

srcdeps for Maven

License Maven Central Travis CI build status AppVeyor Windows CI build status

A core library for building dependency artifacts from their sources during the build of the dependent project. srcdeps-core is used by srcdeps-maven and by srcdeps-gradle-plugin Contributions to support Ant and sbt are welcome!

How to build

Prerequisites:

  • Java 8

  • Optionally Maven 3.5.x unless you do not want to rely on the provided Maven Wrapper, a.k.a. mvnw

To build with tests on Linux

./mvnw clean install

On Windows

mvnw clean install

Misc.

srcdeps-core's People

Contributors

ppalaga avatar jpkrohling avatar

Stargazers

Zoran Regvart avatar 김호란 avatar Richard North avatar László Király avatar

Watchers

He-Pin(kerr) avatar James Cloos avatar  avatar

srcdeps-core's Issues

SSLException: Received fatal alert: protocol_version when mvnw downloads Maven ZIP

E.g. in this build: https://ci.appveyor.com/project/ppalaga/srcdeps-core/build/1.0.204

Downloading https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.3/apache-maven-3.5.3-bin.zip
Exception in thread "main" javax.net.ssl.SSLException: Received fatal alert: protocol_version
	at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
	at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
	at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1979)
	at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1086)
	at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1332)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1359)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1343)
	at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
	at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1301)
	at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
	at org.apache.maven.wrapper.DefaultDownloader.downloadInternal(DefaultDownloader.java:73)
	at org.apache.maven.wrapper.DefaultDownloader.download(DefaultDownloader.java:60)
	at org.apache.maven.wrapper.Installer.createDist(Installer.java:64)
	at org.apache.maven.wrapper.WrapperExecutor.execute(WrapperExecutor.java:121)
	at org.apache.maven.wrapper.MavenWrapperMain.main(MavenWrapperMain.java:50)
Command exited with code 1
echo "failed"
"failed"
type srcdeps-maven-local-repository\target\test-projects\SrcdepsLocalRepositoryManagerTest_mvnGitBranch[3.3.1]_mvnGitBranch\log.txt
The system cannot find the path specified.
Command exited with code 1

git/ssh authentication

I'm trying to using src deps to build from a git repo that's only accessible over ssh with private key authentication.

There doesn't seem to be support for this.

Would you like a pull request for this?

ShellBuilder.mergeEnvironment() does not merge

As found by @jpkrohling , there are some irregularities between the Javadoc and the code of org.srcdeps.core.impl.builder.ShellBuilder.mergeEnvironment(BuildRequest). The code should be merging the default env with request's env . Also all invocations of org.srcdeps.core.BuildRequest.getBuildEnvironment() should be checked if they should not actually be changed to mergeEnvironment() calls. https://github.com/srcdeps/srcdeps-core/pull/13/files/cb0bea3caa29ff7628c9ea3fa4a25c1c804035cf#r144827798

When creating the srcdeps work branch in a brand new repo

org.eclipse.jgit.api.errors.RefNotFoundException: Ref HEAD can not be resolved
    at org.eclipse.jgit.api.CreateBranchCommand.getStartPointObjectId (CreateBranchCommand.java:282)
    at org.eclipse.jgit.api.CreateBranchCommand.call (CreateBranchCommand.java:135)
    at org.srcdeps.core.impl.scm.JGitScm.fetchAndReset (JGitScm.java:250)
    at org.srcdeps.core.impl.scm.JGitScm.checkout (JGitScm.java:229)
    at org.srcdeps.core.impl.scm.DefaultScmService.checkout (DefaultScmService.java:62)
    at org.srcdeps.mvn.localrepo.SrcdepsLocalRepositoryManager.buildDependency (SrcdepsLocalRepositoryManager.java:216)
    at org.srcdeps.mvn.localrepo.SrcdepsLocalRepositoryManager.find (SrcdepsLocalRepositoryManager.java:312)
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve (DefaultArtifactResolver.java:315)
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts (DefaultArtifactResolver.java:224)
    at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact (DefaultArtifactResolver.java:201)
    at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom (DefaultArtifactDescriptorReader.java:261)
    at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.readArtifactDescriptor (DefaultArtifactDescriptorReader.java:192)
    at org.eclipse.aether.internal.impl.DefaultDependencyCollector.resolveCachedArtifactDescriptor (DefaultDependencyCollector.java:539)
    at org.eclipse.aether.internal.impl.DefaultDependencyCollector.getArtifactDescriptorResult (DefaultDependencyCollector.java:522)
    at org.eclipse.aether.internal.impl.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:411)
    at org.eclipse.aether.internal.impl.DefaultDependencyCollector.processDependency (DefaultDependencyCollector.java:365)
    at org.eclipse.aether.internal.impl.DefaultDependencyCollector.process (DefaultDependencyCollector.java:353)
    at org.eclipse.aether.internal.impl.DefaultDependencyCollector.collectDependencies (DefaultDependencyCollector.java:256)
    at org.eclipse.aether.internal.impl.DefaultRepositorySystem.collectDependencies (DefaultRepositorySystem.java:282)
    at org.apache.maven.project.DefaultProjectDependenciesResolver.resolve (DefaultProjectDependenciesResolver.java:169)
    at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies (LifecycleDependencyResolver.java:243)
    at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.resolveProjectDependencies (LifecycleDependencyResolver.java:147)
    at org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAreResolved (MojoExecutor.java:246)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:200)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:245)
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:498)
    at io.takari.maven.testing.executor.Embedded3xLauncher.run (Embedded3xLauncher.java:360)
    at io.takari.maven.testing.executor.MavenExecution.execute (MavenExecution.java:56)
    at org.srcdeps.mvn.itest.MavenDepsMavenIntegrationTest.mvnGitSnapshotRevision (MavenDepsMavenIntegrationTest.java:536)
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:498)
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall (FrameworkMethod.java:50)
    at org.junit.internal.runners.model.ReflectiveCallable.run (ReflectiveCallable.java:12)
    at org.junit.runners.model.FrameworkMethod.invokeExplosively (FrameworkMethod.java:47)
    at org.junit.internal.runners.statements.InvokeMethod.evaluate (InvokeMethod.java:17)
    at org.junit.rules.TestWatcher$1.evaluate (TestWatcher.java:55)
    at org.junit.rules.RunRules.evaluate (RunRules.java:20)
    at org.junit.runners.ParentRunner.runLeaf (ParentRunner.java:325)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild (BlockJUnit4ClassRunner.java:78)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild (BlockJUnit4ClassRunner.java:57)
    at org.junit.runners.ParentRunner$3.run (ParentRunner.java:290)
    at org.junit.runners.ParentRunner$1.schedule (ParentRunner.java:71)
    at org.junit.runners.ParentRunner.runChildren (ParentRunner.java:288)
    at org.junit.runners.ParentRunner.access$000 (ParentRunner.java:58)
    at org.junit.runners.ParentRunner$2.evaluate (ParentRunner.java:268)
    at org.junit.runners.ParentRunner.run (ParentRunner.java:363)
    at org.junit.runners.Suite.runChild (Suite.java:128)
    at org.junit.runners.Suite.runChild (Suite.java:27)
    at org.junit.runners.ParentRunner$3.run (ParentRunner.java:290)
    at org.junit.runners.ParentRunner$1.schedule (ParentRunner.java:71)
    at org.junit.runners.ParentRunner.runChildren (ParentRunner.java:288)
    at org.junit.runners.ParentRunner.access$000 (ParentRunner.java:58)
    at org.junit.runners.ParentRunner$2.evaluate (ParentRunner.java:268)
    at org.junit.internal.runners.statements.RunBefores.evaluate (RunBefores.java:26)
    at org.junit.runners.ParentRunner.run (ParentRunner.java:363)
    at org.apache.maven.surefire.junit4.JUnit4Provider.execute (JUnit4Provider.java:367)
    at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun (JUnit4Provider.java:274)
    at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet (JUnit4Provider.java:238)
    at org.apache.maven.surefire.junit4.JUnit4Provider.invoke (JUnit4Provider.java:161)
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:498)
    at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray2 (ReflectionUtils.java:202)
    at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke (ProviderFactory.java:155)
    at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider (ProviderFactory.java:81)
    at org.apache.maven.plugin.surefire.InPluginVMSurefireStarter.runSuitesInProcess (InPluginVMSurefireStarter.java:82)
    at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeProvider (AbstractSurefireMojo.java:1010)
    at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked (AbstractSurefireMojo.java:862)
    at org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute (AbstractSurefireMojo.java:755)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:208)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:290)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:194)
    at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.