我有一个用于构建eclipse插件的maven构建,该插件在执行期间偶尔会挂起
--- tycho-p2-repository-plugin:1.1.0:assemble-repository (default-assemble-repository) @ com.sample.product ---
Run Code Online (Sandbox Code Playgroud)
否则,构建将失败并显示以下错误。
[ERROR] Failed to execute goal org.eclipse.tycho:tycho-p2-repository-plugin:1.1.0:assemble-repository (default-assemble-repository) on project p2:Could not assemble p2 repository: Mirroring failed: No repository found at file:/C:/Users/obuli/.m2/repository/.
Run Code Online (Sandbox Code Playgroud)
我正在使用以下Maven目标和选项
clean deploy -Dtycho.localArtifacts=ignore
Run Code Online (Sandbox Code Playgroud)
我已经搜索了此问题并找到了此Bug,它说tycho 0.26.0中存在一个错误,但是我目前正在使用,Tycho version 1.1.0
因为该问题非常零星,所以我无法确定根本原因。请让我在这里我想念的。
我正在使用tycho构建开发一个eclipse插件,它需要一些非osgi jar文件作为依赖.当我在我的pom文件中添加依赖项时,它不会在maven构建期间采用依赖项.因此,我尝试使用以下插件创建一个包含所有必需依赖项的osgi包.
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>1.4.0</version>
<extensions>true</extensions>
<configuration>
<manifestLocation>META-INF</manifestLocation>
<instructions>
<Bundle-SymbolicName>Osgi-bundle</Bundle-SymbolicName>
<Bundle-Name>Osgi-dependency</Bundle-Name>
<Bundle-Version>1.0.0</Bundle-Version>
<Export-Package>*</Export-Package>
<Private-Package>com.foo.bundle</Private-Package>
<Bundle-Activator>com.foo.bundle.Activator</Bundle-Activator>
<Import-Package>*;resolution:=optional</Import-Package>
<Embed-Dependency>*;scope=compile|runtime;inline=true</Embed-Dependency>
<Embed-Directory>target/dependency</Embed-Directory>
<Embed-StripGroup>true</Embed-StripGroup>
<Embed-Transitive>true</Embed-Transitive>
</instructions>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
之后我已经将这个osgi包的依赖项提供给了eclipse插件.但是它仍然没有依赖.我已经经历了很多网站.但我无法在持续集成中获得此maven构建的解决方案但是,当我尝试使用现有jar创建新的插件项目并添加osgi包并导出插件时.它工作正常.但我需要连续构建.请提供一些解决方案,将依赖项添加到eclipse插件项目中.
我很难将一个分支重置为另一个分支。将其与ours策略合并后,我尝试通过Gerrit。我收到类似“缺少更改ID”的错误。默认情况下,合并提交没有更改ID。我尝试下载commit-msg挂钩来获取自动更改ID。但这在Windows中无济于事。任何想法如何添加更改合并提交中的ID?
我有两个分支,一个是主,另一个是1.现在level1是我需要通过git bash将master重置为level1的最新版本我可以通过以下命令来实现.
$ git checkout master
$ git tag old-master-branch
$ git reset --hard level1
$ git merge -s ours origin/master
$ git push origin master
Run Code Online (Sandbox Code Playgroud)
这个对我来说很好.我的问题是如何使用JGit实现它.我试过了.但我无法弄清楚如何设置源和目标分支.
考虑我克隆了一个主分支的场景
Git git = Git.cloneRepository().setURI(remote).setCredentialsProvider(new UsernamePasswordCredentialsProvider("obuli", "xxxxxx")).setDirectory(gitPath) .setNoCheckout(true).call();
Run Code Online (Sandbox Code Playgroud)
现在我需要将其重置为level1.
git.reset().setMode(ResetType.HARD).call();
Run Code Online (Sandbox Code Playgroud)
但在这里我没有指定level1.我不知道如何指定它.还请说明如何git merge -s ours origin/master在JGit中提供