Skip to content

Commit

Permalink
Update from Java 1.5 to Java 1.6 and VC2005 to VS2010
Browse files Browse the repository at this point in the history
  • Loading branch information
clay_shooter committed Aug 3, 2013
1 parent 01299f3 commit 5f923ed
Show file tree
Hide file tree
Showing 6 changed files with 78 additions and 37 deletions.
28 changes: 15 additions & 13 deletions jacob/build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,23 +3,24 @@
Ant build file for JACOB.
Created Feb 4, 2005 1:23:05 PM as part of migration from ANT
Last Modified March 24, 2007
Last Modified September 2 2013
Tested on Eclipse 3.3 with the Europa C++ plugins, Ant 1.7 and MS Visual C++ 8 (2005)
Tested on Eclipse 3.3 with the Europa C++ plugins, Ant 1.8 and MS Visual C++ 10 (2010)
Eclipse users are pretty lucky because the whole project
can be built inside eclipse due to their built in ANT support.
The COM portion of this build requires MS Visual C++ 8.0. (2005)
The COM portion of this build requires MS Visual C++ 1.0. (2010)
The build proces defined in this build.xml file does not support
YOU MUST define a file named compilation_tools.properties!
The file for MS Visual C++ 8.0 building 32 and 64 bit (installed on windows 7 64 bit)
The file for MS Visual C++ 10 building 32 and 64 bit (installed on windows 7 64 bit)
(releases up to 1.11 only supported 32 bit builds) looks something like:
JDK=c\:\\Program Files (x86)\\java\\jdk1.5.0_22
MSDEV_DIR=c\:\\Program Files (x86)\\Microsoft Visual Studio 8\\VC
MSDEV_IDE_DIR=c\:\\Program Files (x86)\\Microsoft Visual Studio 8\\Common7\\IDE
version=1.17-M2
JDK=c\:\\Program Files (x86)\\java\\jdk1.6.0_31
MSDEV_DIR=c\:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC
MSDEV_IDE_DIR=c\:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\Common7\\IDE
MSDEV_PLATFORM_DIR=c\:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.0A
version=1.18-M1
DO NOT check compilation_tools.properties into source control as the
values are specific to YOUR environment.
Expand All @@ -40,6 +41,7 @@
<property name="JDK" value="JDK not set in compilation_tools properties file"/>
<!-- MSDEV_DIR is a required parameter so set to a message if its not set -->
<property name="MSDEV_DIR" value="MSDEV_DIR not set in compilation_tools properties file"/>
<property name="MSDEV_PLATFORM_DIR" value="MSDEV_PLATFORM_DIR not set in compilation_tools properties file"/>
<echo message="executing with MSDEV_DIR=${MSDEV_DIR}" />


Expand Down Expand Up @@ -79,22 +81,22 @@

<property name="compiler.x86" value="${MSDEV_DIR}\bin\cl.exe" />
<property name="linker.x86" value="${MSDEV_DIR}\bin\link.exe" />
<property name="manifestool.x86" value="${MSDEV_DIR}\bin\mt.exe" />
<property name="manifestool.x86" value="${MSDEV_PLATFORM_DIR}\bin\mt.exe" />
<property name="include.x86" value="${MSDEV_DIR}\include" />
<property name="include.x86.platformSDK" value="${MSDEV_DIR}\PlatformSDK\Include" />
<property name="include.x86.platformSDK" value="${MSDEV_PLATFORM_DIR}\Include" />
<property name="include.x86.atl" value="${MSDEV_DIR}\atlmfc\include" />
<property name="library.x86" value="${MSDEV_DIR}\lib" />
<property name="library.x86.platformSDK" value="${MSDEV_DIR}\PlatformSDK\lib" />
<property name="library.x86.platformSDK" value="${MSDEV_PLATFORM_DIR}\lib" />
<property name="library.x86.atl" value="${MSDEV_DIR}\atlmfc\lib" />

<!-- You have to love the beautiful asymetry of the MS world -->
<!-- The platform SDK comes with 64 bit tools but not 32 bit tools -->
<property name="compiler.x64" value="${MSDEV_DIR}\bin\x86_amd64\cl.exe" />
<property name="linker.x64" value="${MSDEV_DIR}\bin\x86_amd64\link.exe" />
<property name="manifesttool.x64" value="${MSDEV_DIR}\bin\x86_amd64\mt.exe" />
<property name="manifesttool.x64" value="${MSDEV_PLATFORM_DIR}\bin\x64\mt.exe" />
<property name="include.x64" value="${MSDEV_DIR}\include" />
<property name="library.x64" value="${MSDEV_DIR}\lib\amd64" />
<property name="library.x64.platformSDK" value="${MSDEV_DIR}\PlatformSDK\lib\amd64" />
<property name="library.x64.platformSDK" value="${MSDEV_PLATFORM_DIR}\lib\x64" />
<property name="library.x64.atl" value="${MSDEV_DIR}\atlmfc\lib\amd64" />


Expand Down
38 changes: 20 additions & 18 deletions jacob/docs/BuildingJacobFromSource.html
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ <h1> Overview </h1>
<h1> Repository Organization </h1>
<p>
Unpack the source archive zip file or check the files out of CVS into d:\jacob
or some other familiar place. Source Java and JNI files are located in seperate
or some other familiar place. Source Java and JNI files are located in separate
packages from the unit tests and the samples.
<p>
<ul>
Expand All @@ -33,34 +33,36 @@ <h1> Repository Organization </h1>
been removed.
<p>
<H1>Development Environment</h1>
The simplest build environment includes MS Visual C++ 8.0 (Studio 2005),
Eclipse 3.3 with the C/C++ module and JDK 1.5.
The simplest build environment includes MS Visual Studio 10.0 (Studio 2010),
Eclipse 3.3 with the C/C++ module and JDK 1.6.
In that situation, you would just create the <i>compilation_tools.properties</i>
using the example build.xml as a template.
using the example at the top of build.xml as a template.
<UL>
<li> Microsoft Visual C++ 8.0 and it's included library. (to C:\ProgramFiles in my case)
<li> Microsoft Visual Studio 10.0 and it's included library. (to C:\ProgramFiles (X86) in my case)
<li> Eclipse 3.4 or later from www.eclipse.org as the Java IDE.
<li> Eclipse 3.4 or later with the C/C++ plugin can be used for C coding in place of VC++ IDE.
<li> Java JDK 1.5 (1.17 was built using 1.5.0.22)
<li> Java JDK 1.6 (1.18 was built using 1.7.0_31)
</ul>
<p>
<p>
<table>
<TR><TD>Release</TD><TD>C Version</TD><TD>Java Version</TD><TD>ANT Version</TD><TD>Eclipse Version Used</TD><TD>generated DLLs</TD></TR>
<TR><TD>up to 1.6</TD><TD>VC 98 (6.0)</TD><TD>?</TD><td>MAKE</td><TD>?</TD><TD>32 bit</TD></TR>
<TR><TD>1.7</TD><TD>VC 98 (6.0)</TD><TD>1.4</TD><td>1.?</td><TD>?</TD><TD>32 bit</TD></TR>
<TR><TD>1.8</TD><TD>VC 98 (6.0)</TD><TD>1.4</TD><td>1.?</td><TD>?</TD><TD>32 bit</TD></TR>
<TR><TD>1.9</TD><TD>VC 98 (6.0)</TD><TD>1.4</TD><td>1.?</td><TD>?</TD><TD>32 bit</TD></TR>
<TR><TD>1.10</TD><TD>VC 98 (6.0)</TD><TD>1.4</TD><td>1.?</td><TD>3.??</TD><TD>32 bit</TD></TR>
<TR><TD>1.11</TD><TD>VC 98 (6.0) & 2003 64bit libs</TD><TD>1.4.?</TD><td>1.6.?</td><TD>3.2.1</TD><TD>32 and 64 bit</TD></TR>
<TR><TD>1.12</TD><TD>VC 98 (6.0) & 2003 64bit libs</TD><TD>1.4.2</TD><td>1.6.5</td><TD>3.2.2</TD><TD>32 and 64 bit</TD></TR>
<TR><TD>1.13</TD><TD>VC 2005</TD><TD>1.4.2</TD><TD>1.7.0</TD><TD>3.3</TD><TD>32 and 64 bit</TD></TR>
<TR><TD>1.14</TD><TD>VC 2005</TD><TD>1.5.0</TD><TD>1.7.0</TD><TD>3.3</TD><TD>32 and 64 bit</TD></TR>
<TR><TD>1.15</TD><TD>VC 2005</TD><TD>1.5.0</TD><TD>1.7.0</TD><TD>3.4</TD><TD>32 and 64 bit</TD></TR>
<TR><TD>1.17</TD><TD>VC 2005</TD><TD>1.5.0</TD><TD>1.8.4 Eclipse Embedded</TD><TD>4.3</TD><TD>32 and 64 bit</TD></TR>
<TR><TD>1.7</TD><TD>VC 98 (6.0)</TD><TD>1.4 (48)</TD><td>1.?</td><TD>?</TD><TD>32 bit</TD></TR>
<TR><TD>1.8</TD><TD>VC 98 (6.0)</TD><TD>1.4 (48)</TD><td>1.?</td><TD>?</TD><TD>32 bit</TD></TR>
<TR><TD>1.9</TD><TD>VC 98 (6.0)</TD><TD>1.4 (48)</TD><td>1.?</td><TD>?</TD><TD>32 bit</TD></TR>
<TR><TD>1.10</TD><TD>VC 98 (6.0)</TD><TD>1.4 (48)</TD><td>1.?</td><TD>3.??</TD><TD>32 bit</TD></TR>
<TR><TD>1.11</TD><TD>VC 98 (6.0) & 2003 64bit libs</TD><TD>1.4.? (48)</TD><td>1.6.?</td><TD>3.2.1</TD><TD>32 and 64 bit</TD></TR>
<TR><TD>1.12</TD><TD>VC 98 (6.0) & 2003 64bit libs</TD><TD>1.4.2 (48)</TD><td>1.6.5</td><TD>3.2.2</TD><TD>32 and 64 bit</TD></TR>
<TR><TD>1.13</TD><TD>VC 2005 (8)</TD><TD>1.4.2 (48)</TD><TD>1.7.0</TD><TD>3.3</TD><TD>32 and 64 bit</TD></TR>
<TR><TD>1.14</TD><TD>VC 2005 (8)</TD><TD>1.5.0 (49)</TD><TD>1.7.0</TD><TD>3.3</TD><TD>32 and 64 bit</TD></TR>
<TR><TD>1.15</TD><TD>VC 2005 (8)</TD><TD>1.5.0 (49)</TD><TD>1.7.0</TD><TD>3.4</TD><TD>32 and 64 bit</TD></TR>
<TR><TD>1.17</TD><TD>VC 2005 (8)</TD><TD>1.5.0 (49)</TD><TD>1.8.4 Eclipse Embedded</TD><TD>4.3</TD><TD>32 and 64 bit</TD></TR>
<TR><TD>1.18</TD><TD>VS 2010 (10) Windows SDK VS2010 (7.0A)</TD><TD>1.6.0 (50)</TD><TD>1.8.4 Eclipse Embedded</TD><TD>4.3</TD><TD>32 and 64 bit</TD></TR>

</table>
Microsoft Visual C++ 8.0 supports 64 bit builds. so no additional tools are required.
Microsoft Visual Studio 10 supports 64 bit builds. so no additional tools are required.<BR>
Microsoft changed the location of the windows sdk (formerly known as platform sdk) after VC 8.0. https://en.wikipedia.org/wiki/Microsoft_Windows_SDK

<p>

Expand All @@ -84,7 +86,7 @@ <H1>Build Process</H1>
<li> create the dll
<li> create jar file
</UL>
<li>"package" runs the above listed steps and then
<li>"packageRelease" runs the above listed steps and then

<UL>
<LI>builds the javadoc
Expand Down
35 changes: 35 additions & 0 deletions jacob/docs/ReleaseNotes.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,41 @@
<HTML>
<BODY>

<!-- ---------- -->
<h2>JACOB 1.18</h2>
<h3>What's New</h3>
<ul>
<li>
Built with Java 1.6 and Visual Studio 2010
</li>
</ul>
<h3>Tracked Changes</h3>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" >
<tr>
<td colspan="2"><b>Bugs</b></td>
</tr>
<tr>
<td width="13%" valign="top">&nbsp;</td>
<td width="87%" valign="top">&nbsp;</td>
</tr>
<tr>
<td colspan="2"><b>Patches</b></td>
</tr>
<tr>
<td width="13%" valign="top">&nbsp;</td>
<td width="87%" valign="top">&nbsp;</td>
</tr>
<tr>
<td colspan="2"><b>Feature Requests</b></td>
</tr>
<tr>
<tr>
<td width="13%" valign="top"></td>
<td width="87%" valign="top"></td>
</tr>

</table>

<!-- ---------- -->
<h2>JACOB 1.17</h2>
<h3>What's New</h3>
Expand Down
1 change: 0 additions & 1 deletion jacob/jni/EventProxy.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include <jni.h>
#include <windows.h>
#include <objbase.h>
#include <oleauto.h>
#include <olectl.h>
Expand Down
1 change: 0 additions & 1 deletion jacob/jni/StdAfx.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@
#define _WIN32_WINNT 0x0500
#endif
//#define _ATL_APARTMENT_THREADED
#include <windows.h>
#include <comdef.h>
#include <comutil.h>
#include <atlbase.h>
Expand Down
12 changes: 8 additions & 4 deletions jacob/unittest/com/jacob/test/events/ExcelEventTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ public void testExcelWithInvocationProxy() {
typeLibLocation = "C:\\Program Files\\Microsoft Office\\OFFICE11\\EXCEL.EXE";
// office 2007
typeLibLocation = "C:\\Program Files\\Microsoft Office\\OFFICE12\\EXCEL.EXE";
// office 2013 322 bit
typeLibLocation = "C:\\Program Files (x86)\\Microsoft Office\\Office14\\EXCEL.EXE";

// Grab The Component.
ActiveXComponent axc = new ActiveXComponent(excelApplicationProgramId);
Expand All @@ -50,9 +52,9 @@ public void testExcelWithInvocationProxy() {
Dispatch workbooks = axc.getPropertyAsComponent("Workbooks");
Dispatch workbook = Dispatch.get(workbooks, "Add").toDispatch();
Dispatch sheet = Dispatch.get(workbook, "ActiveSheet").toDispatch();
System.out.println("Workbook: "+workbook);
System.out.println("Sheet: "+sheet);
if (typeLibLocation.contains("OFFICE11")){
System.out.println("Workbook: " + workbook);
System.out.println("Sheet: " + sheet);
if (typeLibLocation.contains("OFFICE11")) {
// office 2007 throws crashes the VM
System.out.println("Hooking up sheet listener");
hookupListener(sheet, excelSheetProgramId, typeLibLocation);
Expand Down Expand Up @@ -112,7 +114,8 @@ private void hookupListener(Dispatch axc, String programId,
.println("No exception thrown but no dispatch returned for Excel events");
} else {
// Yea!
System.out.println("Successfully attached listener to " + programId);
System.out
.println("Successfully attached listener to " + programId);

}
}
Expand All @@ -138,6 +141,7 @@ public ExcelEvents(String interfaceIdentifier) {
* Override the invoke method to log all the events so that we don't
* have to implement all of the specific events.
*/
@Override
public Variant invoke(String methodName, Variant targetParameter[]) {
System.out.println("Received event from " + listenerPrefix + ": "
+ methodName);
Expand Down

0 comments on commit 5f923ed

Please sign in to comment.