You're encouraged to contribute to WAFFLE. The latest information about this project and source code can be found on Github at https://github.com/dblock/waffle
Fork the project. Make pull requests. Bonus points for topic branches.
If you're not familiar with this workflow, please read Using Pull Requests.
Download Git from here. During the installation, the wizard will offer to adjust your PATH
environment. Select the second option "Run Git from the Windows Command Prompt".
Download and install the JDK from here. Set JAVA_HOME
to the location of the JDK in your computer's environment settings.
Download Maven from here and unzip it to a directory of your choosing, eg. c:\maven
. Add the bin
directory to PATH
, eg. c:\maven\bin
. You should be able to type mvn
on the command prompt.
Visual Studio is not required, but useful when editing .NET code. At the least, install the Windows SDK for your operating system. You should be able to run msbuild
from the command prompt after installing sdk.
Windows 7 SDK can be found here
Windows 8.1 SDK can be found here
Download NUnit from here.
Download and install MSBuild Community Tasks from here.
Download and install the Wix toolset, specifically version 3.9 R2 from here.
If you are running on Windows Vista or later, you'll want to run the command prompt as Administrator. Type build all
.
c:\source\Waffle\master> build all
This downloads thirdparty libraries using Maven, builds both Debug and Release .NET binaries, all Java code, runs tests and packages a release .zip in the target
directory.
The C# implementation is in a Visual Studio solution file, Waffle.sln
.
Eclipse is not required, but useful when editing Java code. Any other compariable IDE will work that has maven integration.
With Eclipse shown here, import the projects under Source/JNA
.
You may see need to migrate projects for the spring packages. Try to do so, but if it fails, just cancel. This is ok. It will only work if spring is installed.
Projects will show as imported as follows.
To run the demos within the IDE, you can right click StartEmbeddedJetty > Run As (or Debug As) > Java Appliction. The server will start on localhost:8080.
To change which demo you are running, edit the code waffle-jetty/src/test/java/StartEmbeddedJetty.java
:
String path = "../waffle-demo/waffle-filter";
'git' is not recognized as an internal or external command, operable program or batch file.
Git is missing.
E:\Waffle.proj(2,11): error MSB4019: The imported project
"C:\Program Files\MSBuild\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets" was not found.
Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
MSBuild Community Tasks are missing.
"E:\waffle\Waffle.proj" (all target) (1) ->
"E:\waffle\Waffle.sln" (Clean target) (2) ->
(Clean target) -> E:\waffle\Source\WindowsAuthProviderMergeModule\WindowsAuthProviderMergeModule.wixproj(107,11):
error MSB4019: The imported project "C:\Program Files\MSBuild\Microsoft\WiX\v3.x\Wix.targets" was not found.
Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
Wix is missing.
A product version is generated via MSBuild and is applied to the rest of the project except java. The Java components built with maven
and contain version information in the waffle-parent pom.
The java components will only generate output files when all tests pass. They do when running on Windows 7 as Administrator. If you have a different system, you may skip tests with mvn -DskipTests=true
. Output JARs will be placed in Source\JNA\waffle-distro\target\waffle-distro
.
Many thirdparty dependencies in Waffle are downloaded using Maven when you use mvn clean install
or under manually located at Source\ThirdParty\
. For third party, see Third Party (Non Maven Central Items)
.