Overview of binary source code

Some of our customers need to convert the SmartComponent Library source code to a different code page like UTF-8. Our source code is typically deployed in ISO8859-1. A possible solution for converting our source code to UTF-8 is the ANT copy task (https://ant.apache.org/manual/Tasks/copy.html).

However, some of our source files are deployed in encrypted form. Attempting to convert those files to a different code page typically damages those files and causes compile errors.

List of encrypted files

File NameDescription
Consultingwerk/BusinessEntityDesigner/create-erm-license.pDeploys the license file for the Crainiate .NET Control used for the design canvas of the Business Entity Designer
src/adecomm/_pweditor.iBinary file deployed by Progress Software, encapsulates access to the ADE Procedure Editor Active X Control
src/adecomm/editsrc.iBinary file deployed by Progress Software, encapsulates access to the ADE Procedure Editor Active X Control
src/adecomm/peditor.iBinary file deployed by Progress Software, encapsulates access to the ADE Procedure Editor Active X Control

src/protools/abhack/EnableSourceEditor.i

Binary file, part of ABhack Procedure Editor integration

Sample ANT script to copy source code

The following sample ANT script creates a copy of the SmartComponent Library source code and converts all files except of the encrypted files to UTF-8.

<project name="Copy Source" default="copy" basedir=".">

    <description>Copy Source Code to a parallel directory and convert to UTF-8</description>

	<target name="copy">
		<mkdir dir="../converted" />

		<!-- copy source code and convert code page from ISO8859-1 to UTF-8 -->
		<copy todir="../converted" overwrite="true"
    		  encoding="ISO-8859-1" outputencoding="UTF-8">
  			<fileset dir=".">
  				<include name="**/*.cls" />
  				<include name="**/*.p" />
  				<include name="**/*.i" />
  				<include name="**/*.w" />
  				<exclude name="Consultingwerk/BusinessEntityDesigner/create-erm-license.p" />
  				<exclude name="src/adecomm/_pweditor.i" />
  				<exclude name="src/adecomm/editsrc.i" />
  				<exclude name="src/adecomm/peditor.i" />
				<exclude name="src/protools/abhack/EnableSourceEditor.i" />
  			</fileset>
		</copy>

		<!-- now copy 4 files with no code page convert -->
		<copy todir="../converted" overwrite="true">
  			<fileset dir=".">
  				<include name="Consultingwerk/BusinessEntityDesigner/create-erm-license.p" />
  				<include name="src/adecomm/_pweditor.i" />
  				<include name="src/adecomm/editsrc.i" />
  				<include name="src/adecomm/peditor.i" />
				<include name="src/protools/abhack/EnableSourceEditor.i" />
  			</fileset>
		</copy>
	</target>
</project>