Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix for Issue 90 #91

Merged
merged 7 commits into from Apr 3, 2013
Merged

Fix for Issue 90 #91

merged 7 commits into from Apr 3, 2013

Conversation

rmboggs
Copy link
Member

@rmboggs rmboggs commented Mar 24, 2013

This allows NAnt to build on Mono 3.0+

Successfully tested on the following setups:

  • Windows 7
    • Net 2.0
    • Net 4.0
  • OpenBSD 5.2
    • Mono 4.0
  • OpenSuSE 12.1
    • Mono 2.0

The only thing I would like to try is Mono on Windows. I haven't been able to get it working on my Win box because I had trouble getting make working with the Mono installation in Windows through cygwin.

… NAnt.NUnit2 and NDoc.Documenter.NAnt assemblies to ignore obsolete warnings for the time being until XslTransform can be replaced with XslCompiledTransform.
…recent XslTransform -> XslCompiledTransform changes.
@rmboggs
Copy link
Member Author

rmboggs commented Mar 24, 2013

I tried playing with this more but NAnt will ignore non-Public FrameworkConfigurable properties no matter what I do. They way I see it, there are two options:

  • Keep the setup in this pull request but better document the McsSdk property for clarity.
  • Undo these changes and try to hard code the -sdk: argument within App.config

IMO, the second option is messier and would require hardcoding the full path to the mcs.exe compiler like so:

<property name="csc.tool" value="${path::combine(prefix, 'lib/mono/4.5/mcs.exe -sdk:2')}"/>

This could lead to maintenance issues down the road if Mono moves the compiler to another directory. I think that the first option would be better for the long run.

@drieseng
Copy link
Member

You should be able to use protected properties, but - in a way - these a still exposed (to derived classes).

----- Oorspronkelijk e-mail -----

Van: "Ryan Boggs" notifications@github.com
Aan: "nant/nant" nant@noreply.github.com
Verzonden: Zondag 24 maart 2013 18:26:53
Onderwerp: Re: [nant] Fix for Issue 90 (#91)

I tried playing with this more but NAnt will ignore non-Public FrameworkConfigurable properties no matter what I do. They way I see it, there are two options:

* Keep the setup in this pull request but better document the McsSdk property for clarity. 
* Undo these changes and try to hard code the -sdk: argument within App.config 

IMO, the second option is messier and would require hardcoding the full path to the mcs.exe compiler like so:
This could lead to maintenance issues down the road if Mono moves the compiler to another directory. I think that the first option would be better for the long run.

Reply to this email directly or view it on GitHub .

@rmboggs
Copy link
Member Author

rmboggs commented Mar 24, 2013

I'll give it a try. :)

@rmboggs
Copy link
Member Author

rmboggs commented Mar 24, 2013

That works. I can commit this if you feel that it would be the best setup.

@rmboggs
Copy link
Member Author

rmboggs commented Mar 26, 2013

Is this ok now?

@rmboggs rmboggs mentioned this pull request Mar 27, 2013
@dguder
Copy link
Member

dguder commented Mar 29, 2013

I hope I get the Windows build running with mono 3.0.x this weekend.

@rmboggs
Copy link
Member Author

rmboggs commented Mar 29, 2013

The sooner the better but I am still waiting for feedback from @drieseng regarding the McsSdk protected var. I've played with it since my last update but I cannot successfully hide that property without losing the functionality needed to handle Mono's new compiler setup.

@drieseng
Copy link
Member

I'll try to get a working build here this weekend to verify it.
If you don't hear from me, then just leave it as is (public).

----- Oorspronkelijk e-mail -----

Van: "Ryan Boggs" notifications@github.com
Aan: "nant/nant" nant@noreply.github.com
Cc: "Gert Driesen" gert.driesen@telenet.be
Verzonden: Vrijdag 29 maart 2013 20:00:42
Onderwerp: Re: [nant] Fix for Issue 90 (#91)

The sooner the better but I am still waiting for feedback from @drieseng regarding the McsSdk protected var. I've played with it since my last update but I cannot successfully hide that property without losing the functionality needed to handle Mono's new compiler setup.

Reply to this email directly or view it on GitHub .

@rmboggs
Copy link
Member Author

rmboggs commented Mar 29, 2013

I updated it to protected in my tree and that is working ok. It is set that way now in this pull request. I couldn't get it working with private or internal modifiers.

I may try to improve the doc over the weekend for clarity purposes but that shouldn't impact testing from others.

@rmboggs
Copy link
Member Author

rmboggs commented Mar 30, 2013

I'm running into resgen issues while trying to build this branch using mono on Windows. Any suggestions?

rmboggs@rmboggs-PC ~/github.com/rmboggs/nant.git
$ make
mkdir -p bootstrap
cp -R lib/ bootstrap/lib
# Mono loads log4net before privatebinpath is set-up, so we need this in the same directory
# as NAnt.exe
cp lib/common/neutral/log4net.dll bootstrap
cp src/NAnt.Console/App.config bootstrap/NAnt.exe.config
mono bootstrap/NAnt.exe  -t:mono-2.0 -f:NAnt.build build
NAnt 0.93 (Build 0.93.4836.0; dev; 3/29/2013)
Copyright (C) 2001-2013 Gerry Shaw
http://nant.sourceforge.net

Buildfile: file:///C:/cygwin/home/rmboggs/github.com/rmboggs/nant.git/NAnt.build
Target framework: Mono 2.0 Profile
Target(s) specified: build

   [tstamp] Friday, March 29, 2013 11:29:10 PM.

init:


debug:


set-framework-configuration:


set-mono-2.0-framework-configuration:


create-common-assemblyinfo:

   [attrib] Setting file attributes for 1 files to Normal.

build:

     [echo] Build Directory is C:\cygwin\home\rmboggs\github.com\rmboggs\nant.git/build/mono-2.0.win32/nant-debug
    [mkdir] Creating directory 'C:\cygwin\home\rmboggs\github.com\rmboggs\nant.git\build\mono-2.0.win32\nant-debug\bin'.
    [mkdir] Creating directory 'C:\cygwin\home\rmboggs\github.com\rmboggs\nant.git\build\mono-2.0.win32\nant-debug\bin\lib'.
     [copy] Copying 2 files to 'C:\cygwin\home\rmboggs\github.com\rmboggs\nant.git\build\mono-2.0.win32\nant-debug\bin'.
     [copy] Copying 15 files to 'C:\cygwin\home\rmboggs\github.com\rmboggs\nant.git\build\mono-2.0.win32\nant-debug\bin\lib'.
     [nant] C:\cygwin\home\rmboggs\github.com\rmboggs\nant.git\src\NAnt.Core\NAnt.Core.build build
            Buildfile: file:///C:/cygwin/home/rmboggs/github.com/rmboggs/nant.git/src/NAnt.Core/NAnt.Core.build
            Target framework: Mono 2.0 Profile
            Target(s) specified: build


            build:

                  [csc] Compiling 178 files to 'C:\cygwin\home\rmboggs\github.com\rmboggs\nant.git\build\mono-2.0.win32\nant-debug\bin\NAnt.Core.dll'.

            BUILD FAILED

            NAnt.DotNet.Tasks.ResGenTask: C:\Program Files\Mono-3.0.6\lib\mono\2.0\resgen.exe had errors. Please see log4net log.
                Key duplication when adding: TMP

            Total time: 0.3 seconds.


BUILD FAILED

Nested build failed.  Refer to build log for exact reason.

Total time: 3.4 seconds.

Makefile:76: recipe for target `build-nant' failed
make: *** [build-nant] Error 1

@rmboggs
Copy link
Member Author

rmboggs commented Mar 31, 2013

Sorry for the resgen noise. Problem was related to my cygwin setup.

NAnt is building on my Win7 machine using mono-2.0 and mono-4.0 targets with this branch.

@dguder
Copy link
Member

dguder commented Apr 1, 2013

Same here, I was able to build and test mono-2.0 and 4.0 with nmake and mono-3.0.6. Looks good from my point.

@rmboggs
Copy link
Member Author

rmboggs commented Apr 1, 2013

@drieseng , can this go in?

@rmboggs
Copy link
Member Author

rmboggs commented Apr 2, 2013

Rec'd confirmation from Gert via email. I'll merge tonight after I update the releasenotes file.

rmboggs pushed a commit that referenced this pull request Apr 3, 2013
@rmboggs rmboggs merged commit 69c8ee9 into nant:master Apr 3, 2013
ghost pushed a commit to truenas/ports that referenced this pull request Oct 30, 2013
- Unbreak build with new Mono compiler model [1]
- Add LICENSE
- Use USES=gmake

Changes:	http://nant.sourceforge.net/release/0.92/releasenotes.html
Reference:	nant/nant#91 [1]
Obtained from:	nant/nant@69c8ee9 [1]
splbio pushed a commit to splbio/freebsd-ports that referenced this pull request Nov 24, 2014
- Unbreak build with new Mono compiler model [1]
- Add LICENSE
- Use USES=gmake

Changes:	http://nant.sourceforge.net/release/0.92/releasenotes.html
Reference:	nant/nant#91 [1]
Obtained from:	nant/nant@69c8ee9 [1]


git-svn-id: svn+ssh://svn.freebsd.org/ports/head@325453 35697150-7ecd-e111-bb59-0022644237b5
svmhdvn pushed a commit to svmhdvn/freebsd-ports that referenced this pull request Jan 10, 2024
- Unbreak build with new Mono compiler model [1]
- Add LICENSE
- Use USES=gmake

Changes:	http://nant.sourceforge.net/release/0.92/releasenotes.html
Reference:	nant/nant#91 [1]
Obtained from:	nant/nant@69c8ee9 [1]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants