Hi,
I checked out trunk (since I couldn't find nightly builds) and I am
noticing a few issues on my Mono/MacOS environment.
1) Surefire test failing:
Failed tests:
testTooLongCommandName(npanday.executable.CommandExecutorTest)
testTooLongCommandName_withSpace(npanday.executable.CommandExecutorTest)
Tests run: 5, Failures: 2, Errors: 0, Skipped: 0
<OUTPUT>
testTooLongCommandName(npanday.executable.CommandExecutorTest) Time
elapsed: 0.059 sec <<< FAILURE!
java.lang.AssertionError: expected:<1> but was:<127>
at org.junit.Assert.fail(Assert.java:91)
at org.junit.Assert.failNotEquals(Assert.java:645)
at org.junit.Assert.assertEquals(Assert.java:126)
at org.junit.Assert.assertEquals(Assert.java:470)
at org.junit.Assert.assertEquals(Assert.java:454)
at
npanday.executable.CommandExecutorTest.testTooLongCommandName(CommandExecutorTest.java:117)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at
org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62)
at
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140)
at
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127)
at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345)
at
org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009)
testTooLongCommandName_withSpace(npanday.executable.CommandExecutorTest)
Time elapsed: 0.022 sec <<< FAILURE!
java.lang.AssertionError: Expected the command to fail!
at org.junit.Assert.fail(Assert.java:91)
at
npanday.executable.CommandExecutorTest.testTooLongCommandName_withSpace(CommandExecutorTest.java:135)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at
org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62)
at
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140)
at
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127)
at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345)
at
org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009)
</OUTPUT>
2) Now, when running the build with skipped tests (just to get beyond
this one), I am getting the following error:
java.io.FileNotFoundException: /Users/matzew/.m2/npanday-settings.xml
(No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at
npanday.plugin.compile.AbstractCompilerMojo.getNPandaySettingsPath(AbstractCompilerMojo.java:1259)
at
npanday.plugin.compile.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:1086)
at
npanday.plugin.compile.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:725)
at
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
at
org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
[INFO] NPANDAY-066-013: Found Vendor = Vendor = MONO, Vendor Version =
null, Framework Version = 2.0.50727, Executable Paths =
[INFO] NPANDAY-068-003: Compiling Artifact: Vendor = MONO, Language =
MONO, Assembly Name =
/Users/matzew/Work/plugins/npanday/dotnet/assemblies/NPanday.Model.Pom/target/NPanday.Model.Pom.dll
[WARNING] NPANDAY-068-006: Did not find path for gmcs in []
[INFO] error CS1577: Referenced assembly `NUnit.Framework,
Version=2.2.8.0, Culture=neutral, PublicKeyToken=null' does not have a
strong name
Compilation failed: 1 error(s), 0 warnings
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] NPANDAY-900-006: Unable to Compile: Language = C_SHARP, Vendor
= null, ArtifactType = library, Source Directory =
/Users/matzew/Work/plugins/npanday/dotnet/assemblies/NPanday.Model.Pom/src/main/csharp
I was wondering if there is a way to "generate" the
npanday-settings.xml file (couldn't really find too much information
about this settings file)?
After some searches I found a file, which I tried to convert to
MONO/Mac environment:
<?xml version="1.0" encoding="utf-8"?>
<npandaySettings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<operatingSystem>
Mac OS 10.6
</operatingSystem>
<defaultSetup>
<vendorName>MONO</vendorName>
<vendorVersion>2.10.1</vendorVersion>
<frameworkVersion>2.0.50727</frameworkVersion>
</defaultSetup>
<vendors>
<vendor>
<vendorName>MONO</vendorName>
<vendorVersion>2.10.1</vendorVersion>
<frameworks>
<framework>
<frameworkVersion>2.0.50727</frameworkVersion>
<installRoot>
/Library/Frameworks/Mono.framework/Versions/Current/bin
</installRoot>
<sdkInstallRoot>
/Library/Frameworks/Mono.framework/Versions/Current/bin
</sdkInstallRoot>
</framework>
</frameworks>
</vendor>
</vendors>
</npandaySettings>
3) re-running the build (with -Dmaven.test.skip=true) I am now getting
these errors:
[INFO] NPANDAY-066-013: Found Vendor = Vendor = MONO, Vendor Version =
2.10.1, Framework Version = 2.0.50727, Executable Paths =
[/Library/Frameworks/Mono.framework/Versions/Current/bin,
/Library/Frameworks/Mono.framework/Versions/Current/bin]
[INFO] NPANDAY-068-003: Compiling Artifact: Vendor = MONO, Language =
MONO, Assembly Name =
/Users/matzew/Work/plugins/npanday/dotnet/assemblies/NPanday.Model.Pom/target/NPanday.Model.Pom.dll
[INFO] NPANDAY-068-005: Found executable path for gmcs:
/Library/Frameworks/Mono.framework/Versions/Current/bin
[INFO] error CS1577: Referenced assembly `NUnit.Framework,
Version=2.2.8.0, Culture=neutral, PublicKeyToken=null' does not have a
strong name
Compilation failed: 1 error(s), 0 warnings
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] NPANDAY-900-006: Unable to Compile: Language = C_SHARP, Vendor
= null, ArtifactType = library, Source Directory =
/Users/matzew/Work/plugins/npanday/dotnet/assemblies/NPanday.Model.Pom/src/main/csharp
Embedded error: NPANDAY-040-001: Could not execute: Command = gmcs
@/Users/matzew/Work/plugins/npanday/dotnet/assemblies/NPanday.Model.Pom/target/18145746/responsefile.rsp,
Result = 1
Pretty interesting that it can't execute the gmcs executable - since
it is a) on my $PATH and it works outside of the NPanday build (e.g.
compiling the simple demos from the mono page)
Any input is appreciated - I am happy to contribute back some guidance
/ documentation (since I couldn't find too much on the webpage)
Thanks!
Matthias
--
Matthias Wessendorf
blog: http://matthiaswessendorf.wordpress.com/
sessions: http://www.slideshare.net/mwessendorf
twitter: http://twitter.com/mwessendorf