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

Extract logic to DLL #21

Merged
merged 9 commits into from
Mar 1, 2014
Merged

Extract logic to DLL #21

merged 9 commits into from
Mar 1, 2014

Conversation

bastianeicher
Copy link
Contributor

  • LessMsi-cli.exe has the existing NDesk.Options-based command-line handling (without the OpenGuiCommand).
  • LessMsi-gui.exe takes the first command-line argument (if any) and uses it as the defaultInputFile without any further processing.
  • I merged the different bin directories in the project directories into a single shared bin alongside the src directory to reduce the amount of DLL copying required in the build process.
  • I did not check that the unit tests still pass, because the ExpectedOutput CSVs are hardcoded to a different path than my local Git clone.

See issue #19

@activescott
Copy link
Owner

@bastianeicher thanks for the PR! I'll look at this closer as soon as I have time to spare. Probably tonight or tomorrow night. If you can investigate the build failures that would be great. If not, I'll investigate and resolve before I pull. I'll also make the ExpectedOutput path configurable or more resiliant. I planned on doing it at some point, just never had the need myself.

@activescott activescott mentioned this pull request Feb 26, 2014
@activescott
Copy link
Owner

Worked on this briefly tonight. Working on getting the builds to compile first then will work on lowercase assemblies, make unit tests work in different paths, misc code review. Initial build failures in xbuild seem to be due to mismatch configuration/platform changes in targets. x86 should be fine, but isn't used consistently across projects? Empty/invalid configs in some projects?
Shouldn't take long to resolve. Will do in a day or two as time permits.

@activescott
Copy link
Owner

I am continuing to work on getting a clean compile and unit tests working in the bastianeicher-master branch: https://github.com/activescott/lessmsi/compare/bastianeicher-master
Will continue working on cleanup and getting to merge as time permits. Should be no later than this weekend.

@activescott
Copy link
Owner

Well isn't that odd. Travis passed but xbuild still fails on my local mac.
The difference is this line: https://travis-ci.org/activescott/lessmsi#L220
On my local mac I see the following output instead:

    Target CoreCompile:
        Tool /Library/Frameworks/Mono.framework/Versions/3.2.0/bin/dmcs execution started with arguments: /noconfig /out:obj/Debug/ ExtractCommand.cs LessMsiCommand.cs ListTableCommand.cs Options.cs Program.cs Properties/AssemblyInfo.cs ../CommonAssemblyInfo.cs ShowHelpCommand.cs ShowVersionCommand.cs /reference:/Library/Frameworks/Mono.framework/Versions/3.2.0/lib/mono/4.0/System.dll /reference:../../lib/wix.dll /reference:/Library/Frameworks/Mono.framework/Versions/3.2.0/lib/mono/4.0/System.Core.dll /reference:/Users/scott/projects/lessmsi-temp/bin/Debug//LessMsi.Core.dll /warn:2
: error CS2021: Output file name is not valid
    Task "Csc" execution -- FAILED
    Done building target "CoreCompile" in project "/Users/scott/projects/lessmsi-temp/src/LessMsi.Cli/LessMsi.Cli.csproj".-- FAILED
Done building project "/Users/scott/projects/lessmsi-temp/src/LessMsi.Cli/LessMsi.Cli.csproj".-- FAILED

Notice the /out:obj/Debug/ ... section. WTF. Different mono versions??

@bastianeicher
Copy link
Contributor Author

Sorry to hear the changes are causing so much trouble. I've often stumbled across fun xbuild bugs/inconsistencies in my own project (Windows as a dev machine, Linux as a build server).

I noticed that you changed the <OutputPath> in LessMsi.Cli.csproj from ..\..\bin\Release\ back to the default bin\x86\Release\ but kept the shared bin in the other locations. Probably not the cause of your current problem though.

I'll try compiling the code with xbuild 2.10.8.1 shortly.

@bastianeicher
Copy link
Contributor Author

Well, turns out xbuild 2.10.* does not like the LessMsi.Core.csproj because of this: https://bugzilla.xamarin.com/show_bug.cgi?id=3055

@activescott
Copy link
Owner

Cool, version of xbuild what I suspected when I was wrapping up last night. I will also fix the OutputPath that was my bad I expect to get back onto this tonight... Hopefully will get far enough along to get it pulled tonight!
No worries on the problems, I really appreciate the work that you've done.

Thanks again!

@activescott
Copy link
Owner

Turns out I have xbuild 3.2.0.0 on the mac I was trying to build with and the error is different from the above cited bug so it is unrelated.

@activescott
Copy link
Owner

Okay! Installed xbuild 3.2.1 and it worked! Next!...

@activescott activescott merged commit bc98326 into activescott:master Mar 1, 2014
@activescott
Copy link
Owner

Although I think there are some minor issues around, this is merged and I think this can be closed. I'll open new issues for any changes I can think of. Thanks for the commit @bastianeicher !

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

2 participants