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

TBD: Reproduce MSVC/NANT build process (:success:) #14

Closed
GerHobbelt opened this issue Aug 2, 2019 · 3 comments
Closed

TBD: Reproduce MSVC/NANT build process (:success:) #14

GerHobbelt opened this issue Aug 2, 2019 · 3 comments
Labels
🤔question Further information is requested or this is a support question
Milestone

Comments

@GerHobbelt
Copy link
Collaborator

GerHobbelt commented Aug 2, 2019

🎉 👍 Got an experimental Qiqqa binary built using Microsoft Visual Studio 2019 today (2019/august/1).

Also using Syncfusion 17 instead of Syncfusion 14 as that is the release currently available as main choice at Syncfusion for MSVC2019 and I want to use my 'regular' MSVC version instead of having to dual-install or otherwise run an old MSVC setup in parallel on an already pretty loaded dev box.

happy news: despite many warnings and errors at the start of this activity a few days ago, I now have a working binary (at least, it works for me 😋 🤡 ) and able to modify the source code to hunt down the major showstopping Qiqqa bugs that block me from actually using my PDF collection the way I need!

@GerHobbelt GerHobbelt changed the title TBD: Reproduce MSVC/NANT build process TBD: Reproduce MSVC/NANT build process (:success:) Aug 2, 2019
@GerHobbelt
Copy link
Collaborator Author

Using:

  • MSVC2019 (the full Studio IDE, which I use for other dev work too)
  • Syncfusion 17 (instead of version 14)
  • Some tweaks to make the reported build errors go away (see upcoming pullreq)
  • WARNING: the binaries have been copied into the Qiqqa v80 install directory using Beyond Compare in Administrator mode; the setup.exe produced by NANT has NOT BEEN TESTED YET.

GerHobbelt added a commit to GerHobbelt/qiqqa-open-source that referenced this issue Aug 2, 2019
…g the version from 80 to 81. **Note**: The changelog in ClientVersion.xml runs ahead of what you will observe in these commits: I did the work first, then did these commits to lock it in as only now I am confident that my attempt at jimmejardine#14 actually delivers a working exe that's equal or better than last commercial release v79 (for me at least; caveat emptor!)
@GerHobbelt
Copy link
Collaborator Author

Met a few bumps along the way, but it now works with modern dev tools (MSVS2019).

Turns out NANT doesn't support C#6.0, went all over StackOverflow and elsewhere, did a quick check at https://github.com/nant/nant -> https://github.com/GerHobbelt/nant/commits/master but since that didn't work out within a few hours, I killed that sidetrack and did a hack instead: see How to build setup.exe

First successful result: https://github.com/GerHobbelt/qiqqa-open-source/releases/tag/v81.0.7158.38371

This ends with #33

@GerHobbelt
Copy link
Collaborator Author

Ah, forgot I had this: the set of relevant commits:


Revision: e702b0c
revert/fix NANT build script to produce a setup.exe once again.

Revision: 44e1575
working on using a more developed build versioning approach. Have MSVS produce a unique version for each build, then (FUTURE WORK) add tooling to ensure all files carry the updated version number(s).

Revision: 177a2be
Also note that we employ the ?. null conditional operator, which is part of C# 6.0 and described here: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/operators/member-access-operators#null-conditional-operators--and-
It turns out the NANT build doesn't cope with this but I'm loath to revert to antiquity there, so the NANT build process has become a little hacky as MSVS2019 (IDE) can build (and debug) the Qiqqa binaries without a fuss, so we now use that one to build the binaries and the NANT build script for packaging (creating the setup.exe).

Revision: aac705a
!@#$%^&* NANT doesn't support C#6.0 language constructs. Spent a few hours on NANT (obtained from GitHub) but cannot get it to work right now. Not spending more time on that distraction: patched the NANT build process to use the binaries which are (correctly and without hassle) produced by MSVC2019 IDE (Batch Build all or Rebuild All, Release target). See short notes in NANT build file and bash shell driver script too. QUICK HACK. QUICK HACK. QUICK HACK. Anyone with the time on their hands and the inclination to make NANT work with a recent MSVC setup: more power to you. Right now, this is a bleeding edge NANT rebuild PLUS patched build/packaging scripts.

Revision: 542fc81
fix msbuild error (oddly enough this was okay in MSVC2019 and compiled fine in the ID, but the NANT task via ./build-installer.sh fails. :-S )

@GerHobbelt GerHobbelt added the 🤔question Further information is requested or this is a support question label Oct 4, 2019
@GerHobbelt GerHobbelt added this to the v82 milestone Oct 4, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🤔question Further information is requested or this is a support question
Projects
None yet
Development

No branches or pull requests

1 participant