http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/f3f8f531/thirdparty/jsoncpp/makefiles/msvc2010/jsontest.vcxproj ---------------------------------------------------------------------- diff --git a/thirdparty/jsoncpp/makefiles/msvc2010/jsontest.vcxproj b/thirdparty/jsoncpp/makefiles/msvc2010/jsontest.vcxproj new file mode 100644 index 0000000..4c301e5 --- /dev/null +++ b/thirdparty/jsoncpp/makefiles/msvc2010/jsontest.vcxproj @@ -0,0 +1,96 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{25AF2DD2-D396-4668-B188-488C33B8E620}</ProjectGuid> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../build/vs71/debug/jsontest\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../build/vs71/debug/jsontest\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../build/vs71/release/jsontest\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../build/vs71/release/jsontest\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>$(OutDir)jsontest.exe</OutputFile> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ProgramDatabaseFile>$(OutDir)jsontest.pdb</ProgramDatabaseFile> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>$(OutDir)jsontest.exe</OutputFile> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="..\..\src\jsontestrunner\main.cpp" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="lib_json.vcxproj"> + <Project>{1e6c2c1c-6453-4129-ae3f-0ee8e6599c89}</Project> + </ProjectReference> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project> \ No newline at end of file
http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/f3f8f531/thirdparty/jsoncpp/makefiles/msvc2010/jsontest.vcxproj.filters ---------------------------------------------------------------------- diff --git a/thirdparty/jsoncpp/makefiles/msvc2010/jsontest.vcxproj.filters b/thirdparty/jsoncpp/makefiles/msvc2010/jsontest.vcxproj.filters new file mode 100644 index 0000000..610b540 --- /dev/null +++ b/thirdparty/jsoncpp/makefiles/msvc2010/jsontest.vcxproj.filters @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{903591b3-ade3-4ce4-b1f9-1e175e62b014}</UniqueIdentifier> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\src\jsontestrunner\main.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> +</Project> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/f3f8f531/thirdparty/jsoncpp/makefiles/msvc2010/lib_json.vcxproj ---------------------------------------------------------------------- diff --git a/thirdparty/jsoncpp/makefiles/msvc2010/lib_json.vcxproj b/thirdparty/jsoncpp/makefiles/msvc2010/lib_json.vcxproj new file mode 100644 index 0000000..e435f86 --- /dev/null +++ b/thirdparty/jsoncpp/makefiles/msvc2010/lib_json.vcxproj @@ -0,0 +1,143 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\src\lib_json\json_reader.cpp" /> + <ClCompile Include="..\..\src\lib_json\json_value.cpp" /> + <ClCompile Include="..\..\src\lib_json\json_writer.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\include\json\reader.h" /> + <ClInclude Include="..\..\include\json\value.h" /> + <ClInclude Include="..\..\include\json\writer.h" /> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{1E6C2C1C-6453-4129-AE3F-0EE8E6599C89}</ProjectGuid> + <Keyword>Win32Proj</Keyword> + <RootNamespace>jsoncpp</RootNamespace> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + <UseDebugLibraries>true</UseDebugLibraries> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + <UseDebugLibraries>true</UseDebugLibraries> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + <UseDebugLibraries>false</UseDebugLibraries> + <WholeProgramOptimization>true</WholeProgramOptimization> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + <UseDebugLibraries>false</UseDebugLibraries> + <WholeProgramOptimization>true</WholeProgramOptimization> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup /> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <Optimization>Disabled</Optimization> + <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <AdditionalIncludeDirectories>../../include</AdditionalIncludeDirectories> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + </ClCompile> + <Link> + <SubSystem>Windows</SubSystem> + <GenerateDebugInformation>true</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <ClCompile> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <Optimization>Disabled</Optimization> + <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <AdditionalIncludeDirectories>../../include</AdditionalIncludeDirectories> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + </ClCompile> + <Link> + <SubSystem>Windows</SubSystem> + <GenerateDebugInformation>true</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <Optimization>MaxSpeed</Optimization> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <AdditionalIncludeDirectories>../../include</AdditionalIncludeDirectories> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + </ClCompile> + <Link> + <SubSystem>Windows</SubSystem> + <GenerateDebugInformation>true</GenerateDebugInformation> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <PrecompiledHeader>NotUsing</PrecompiledHeader> + <Optimization>MaxSpeed</Optimization> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <AdditionalIncludeDirectories>../../include</AdditionalIncludeDirectories> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + </ClCompile> + <Link> + <SubSystem>Windows</SubSystem> + <GenerateDebugInformation>true</GenerateDebugInformation> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + </Link> + </ItemDefinitionGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/f3f8f531/thirdparty/jsoncpp/makefiles/msvc2010/lib_json.vcxproj.filters ---------------------------------------------------------------------- diff --git a/thirdparty/jsoncpp/makefiles/msvc2010/lib_json.vcxproj.filters b/thirdparty/jsoncpp/makefiles/msvc2010/lib_json.vcxproj.filters new file mode 100644 index 0000000..63c7403 --- /dev/null +++ b/thirdparty/jsoncpp/makefiles/msvc2010/lib_json.vcxproj.filters @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Header Files"> + <UniqueIdentifier>{c110bc57-c46e-476c-97ea-84d8014f431c}</UniqueIdentifier> + </Filter> + <Filter Include="Source Files"> + <UniqueIdentifier>{ed718592-5acf-47b5-8f2b-b8224590da6a}</UniqueIdentifier> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\src\lib_json\json_reader.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\src\lib_json\json_value.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\src\lib_json\json_writer.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\include\json\reader.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\include\json\value.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\include\json\writer.h"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/f3f8f531/thirdparty/jsoncpp/makefiles/msvc2010/test_lib_json.vcxproj ---------------------------------------------------------------------- diff --git a/thirdparty/jsoncpp/makefiles/msvc2010/test_lib_json.vcxproj b/thirdparty/jsoncpp/makefiles/msvc2010/test_lib_json.vcxproj new file mode 100644 index 0000000..08c4d44 --- /dev/null +++ b/thirdparty/jsoncpp/makefiles/msvc2010/test_lib_json.vcxproj @@ -0,0 +1,109 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{B7A96B78-2782-40D2-8F37-A2DEF2B9C26D}</ProjectGuid> + <RootNamespace>test_lib_json</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../build/vs71/debug/test_lib_json\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../build/vs71/debug/test_lib_json\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../build/vs71/release/test_lib_json\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../build/vs71/release/test_lib_json\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>$(OutDir)test_lib_json.exe</OutputFile> + <GenerateDebugInformation>true</GenerateDebugInformation> + <ProgramDatabaseFile>$(OutDir)test_lib_json.pdb</ProgramDatabaseFile> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX86</TargetMachine> + </Link> + <PostBuildEvent> + <Message>Running all unit tests</Message> + <Command>$(TargetPath)</Command> + </PostBuildEvent> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <PrecompiledHeader> + </PrecompiledHeader> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>$(OutDir)test_lib_json.exe</OutputFile> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <TargetMachine>MachineX86</TargetMachine> + </Link> + <PostBuildEvent> + <Message>Running all unit tests</Message> + <Command>$(TargetPath)</Command> + </PostBuildEvent> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="..\..\src\test_lib_json\jsontest.cpp" /> + <ClCompile Include="..\..\src\test_lib_json\main.cpp" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\src\test_lib_json\jsontest.h" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="lib_json.vcxproj"> + <Project>{1e6c2c1c-6453-4129-ae3f-0ee8e6599c89}</Project> + </ProjectReference> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/f3f8f531/thirdparty/jsoncpp/makefiles/msvc2010/test_lib_json.vcxproj.filters ---------------------------------------------------------------------- diff --git a/thirdparty/jsoncpp/makefiles/msvc2010/test_lib_json.vcxproj.filters b/thirdparty/jsoncpp/makefiles/msvc2010/test_lib_json.vcxproj.filters new file mode 100644 index 0000000..8f0a17b --- /dev/null +++ b/thirdparty/jsoncpp/makefiles/msvc2010/test_lib_json.vcxproj.filters @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <ClCompile Include="..\..\src\test_lib_json\jsontest.cpp"> + <Filter>Source Filter</Filter> + </ClCompile> + <ClCompile Include="..\..\src\test_lib_json\main.cpp"> + <Filter>Source Filter</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <Filter Include="Source Filter"> + <UniqueIdentifier>{bf40cbfc-8e98-40b4-b9f3-7e8d579cbae2}</UniqueIdentifier> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{5fd39074-89e6-4939-aa3f-694fefd296b1}</UniqueIdentifier> + </Filter> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\src\test_lib_json\jsontest.h"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/f3f8f531/thirdparty/jsoncpp/makefiles/vs71/jsoncpp.sln ---------------------------------------------------------------------- diff --git a/thirdparty/jsoncpp/makefiles/vs71/jsoncpp.sln b/thirdparty/jsoncpp/makefiles/vs71/jsoncpp.sln new file mode 100644 index 0000000..5bfa366 --- /dev/null +++ b/thirdparty/jsoncpp/makefiles/vs71/jsoncpp.sln @@ -0,0 +1,46 @@ +Microsoft Visual Studio Solution File, Format Version 8.00 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_json", "lib_json.vcproj", "{B84F7231-16CE-41D8-8C08-7B523FF4225B}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jsontest", "jsontest.vcproj", "{25AF2DD2-D396-4668-B188-488C33B8E620}" + ProjectSection(ProjectDependencies) = postProject + {B84F7231-16CE-41D8-8C08-7B523FF4225B} = {B84F7231-16CE-41D8-8C08-7B523FF4225B} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "test_lib_json", "test_lib_json.vcproj", "{B7A96B78-2782-40D2-8F37-A2DEF2B9C26D}" + ProjectSection(ProjectDependencies) = postProject + {B84F7231-16CE-41D8-8C08-7B523FF4225B} = {B84F7231-16CE-41D8-8C08-7B523FF4225B} + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfiguration) = preSolution + Debug = Debug + dummy = dummy + Release = Release + EndGlobalSection + GlobalSection(ProjectConfiguration) = postSolution + {B84F7231-16CE-41D8-8C08-7B523FF4225B}.Debug.ActiveCfg = Debug|Win32 + {B84F7231-16CE-41D8-8C08-7B523FF4225B}.Debug.Build.0 = Debug|Win32 + {B84F7231-16CE-41D8-8C08-7B523FF4225B}.dummy.ActiveCfg = dummy|Win32 + {B84F7231-16CE-41D8-8C08-7B523FF4225B}.dummy.Build.0 = dummy|Win32 + {B84F7231-16CE-41D8-8C08-7B523FF4225B}.Release.ActiveCfg = Release|Win32 + {B84F7231-16CE-41D8-8C08-7B523FF4225B}.Release.Build.0 = Release|Win32 + {25AF2DD2-D396-4668-B188-488C33B8E620}.Debug.ActiveCfg = Debug|Win32 + {25AF2DD2-D396-4668-B188-488C33B8E620}.Debug.Build.0 = Debug|Win32 + {25AF2DD2-D396-4668-B188-488C33B8E620}.dummy.ActiveCfg = Debug|Win32 + {25AF2DD2-D396-4668-B188-488C33B8E620}.dummy.Build.0 = Debug|Win32 + {25AF2DD2-D396-4668-B188-488C33B8E620}.Release.ActiveCfg = Release|Win32 + {25AF2DD2-D396-4668-B188-488C33B8E620}.Release.Build.0 = Release|Win32 + {B7A96B78-2782-40D2-8F37-A2DEF2B9C26D}.Debug.ActiveCfg = Debug|Win32 + {B7A96B78-2782-40D2-8F37-A2DEF2B9C26D}.Debug.Build.0 = Debug|Win32 + {B7A96B78-2782-40D2-8F37-A2DEF2B9C26D}.dummy.ActiveCfg = Debug|Win32 + {B7A96B78-2782-40D2-8F37-A2DEF2B9C26D}.dummy.Build.0 = Debug|Win32 + {B7A96B78-2782-40D2-8F37-A2DEF2B9C26D}.Release.ActiveCfg = Release|Win32 + {B7A96B78-2782-40D2-8F37-A2DEF2B9C26D}.Release.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + EndGlobalSection + GlobalSection(ExtensibilityAddIns) = postSolution + EndGlobalSection +EndGlobal http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/f3f8f531/thirdparty/jsoncpp/makefiles/vs71/jsontest.vcproj ---------------------------------------------------------------------- diff --git a/thirdparty/jsoncpp/makefiles/vs71/jsontest.vcproj b/thirdparty/jsoncpp/makefiles/vs71/jsontest.vcproj new file mode 100644 index 0000000..99a4dd6 --- /dev/null +++ b/thirdparty/jsoncpp/makefiles/vs71/jsontest.vcproj @@ -0,0 +1,119 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="7.10" + Name="jsontest" + ProjectGUID="{25AF2DD2-D396-4668-B188-488C33B8E620}" + Keyword="Win32Proj"> + <Platforms> + <Platform + Name="Win32"/> + </Platforms> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../build/vs71/debug/jsontest" + IntermediateDirectory="../../build/vs71/debug/jsontest" + ConfigurationType="1" + CharacterSet="2"> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../include" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="TRUE" + BasicRuntimeChecks="3" + RuntimeLibrary="1" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="TRUE" + DebugInformationFormat="4"/> + <Tool + Name="VCCustomBuildTool"/> + <Tool + Name="VCLinkerTool" + OutputFile="$(OutDir)/jsontest.exe" + LinkIncremental="2" + GenerateDebugInformation="TRUE" + ProgramDatabaseFile="$(OutDir)/jsontest.pdb" + SubSystem="1" + TargetMachine="1"/> + <Tool + Name="VCMIDLTool"/> + <Tool + Name="VCPostBuildEventTool"/> + <Tool + Name="VCPreBuildEventTool"/> + <Tool + Name="VCPreLinkEventTool"/> + <Tool + Name="VCResourceCompilerTool"/> + <Tool + Name="VCWebServiceProxyGeneratorTool"/> + <Tool + Name="VCXMLDataGeneratorTool"/> + <Tool + Name="VCWebDeploymentTool"/> + <Tool + Name="VCManagedWrapperGeneratorTool"/> + <Tool + Name="VCAuxiliaryManagedWrapperGeneratorTool"/> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../build/vs71/release/jsontest" + IntermediateDirectory="../../build/vs71/release/jsontest" + ConfigurationType="1" + CharacterSet="2"> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../include" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="0" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="TRUE" + DebugInformationFormat="3"/> + <Tool + Name="VCCustomBuildTool"/> + <Tool + Name="VCLinkerTool" + OutputFile="$(OutDir)/jsontest.exe" + LinkIncremental="1" + GenerateDebugInformation="TRUE" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + TargetMachine="1"/> + <Tool + Name="VCMIDLTool"/> + <Tool + Name="VCPostBuildEventTool"/> + <Tool + Name="VCPreBuildEventTool"/> + <Tool + Name="VCPreLinkEventTool"/> + <Tool + Name="VCResourceCompilerTool"/> + <Tool + Name="VCWebServiceProxyGeneratorTool"/> + <Tool + Name="VCXMLDataGeneratorTool"/> + <Tool + Name="VCWebDeploymentTool"/> + <Tool + Name="VCManagedWrapperGeneratorTool"/> + <Tool + Name="VCAuxiliaryManagedWrapperGeneratorTool"/> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <File + RelativePath="..\..\src\jsontestrunner\main.cpp"> + </File> + </Files> + <Globals> + </Globals> +</VisualStudioProject> http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/f3f8f531/thirdparty/jsoncpp/makefiles/vs71/lib_json.vcproj ---------------------------------------------------------------------- diff --git a/thirdparty/jsoncpp/makefiles/vs71/lib_json.vcproj b/thirdparty/jsoncpp/makefiles/vs71/lib_json.vcproj new file mode 100644 index 0000000..fe66d8a --- /dev/null +++ b/thirdparty/jsoncpp/makefiles/vs71/lib_json.vcproj @@ -0,0 +1,205 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="7.10" + Name="lib_json" + ProjectGUID="{B84F7231-16CE-41D8-8C08-7B523FF4225B}" + Keyword="Win32Proj"> + <Platforms> + <Platform + Name="Win32"/> + </Platforms> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../build/vs71/debug/lib_json" + IntermediateDirectory="../../build/vs71/debug/lib_json" + ConfigurationType="4" + CharacterSet="2"> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../include" + PreprocessorDefinitions="WIN32;_DEBUG;_LIB" + StringPooling="TRUE" + MinimalRebuild="TRUE" + BasicRuntimeChecks="3" + RuntimeLibrary="1" + EnableFunctionLevelLinking="TRUE" + DisableLanguageExtensions="TRUE" + ForceConformanceInForLoopScope="FALSE" + RuntimeTypeInfo="TRUE" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="TRUE" + DebugInformationFormat="4"/> + <Tool + Name="VCCustomBuildTool"/> + <Tool + Name="VCLibrarianTool" + OutputFile="$(OutDir)/json_vc71_libmtd.lib"/> + <Tool + Name="VCMIDLTool"/> + <Tool + Name="VCPostBuildEventTool"/> + <Tool + Name="VCPreBuildEventTool"/> + <Tool + Name="VCPreLinkEventTool"/> + <Tool + Name="VCResourceCompilerTool"/> + <Tool + Name="VCWebServiceProxyGeneratorTool"/> + <Tool + Name="VCXMLDataGeneratorTool"/> + <Tool + Name="VCManagedWrapperGeneratorTool"/> + <Tool + Name="VCAuxiliaryManagedWrapperGeneratorTool"/> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../build/vs71/release/lib_json" + IntermediateDirectory="../../build/vs71/release/lib_json" + ConfigurationType="4" + CharacterSet="2" + WholeProgramOptimization="TRUE"> + <Tool + Name="VCCLCompilerTool" + GlobalOptimizations="TRUE" + EnableIntrinsicFunctions="TRUE" + AdditionalIncludeDirectories="../../include" + PreprocessorDefinitions="WIN32;NDEBUG;_LIB" + StringPooling="TRUE" + RuntimeLibrary="0" + EnableFunctionLevelLinking="TRUE" + DisableLanguageExtensions="TRUE" + ForceConformanceInForLoopScope="FALSE" + RuntimeTypeInfo="TRUE" + UsePrecompiledHeader="0" + AssemblerOutput="4" + WarningLevel="3" + Detect64BitPortabilityProblems="TRUE" + DebugInformationFormat="3"/> + <Tool + Name="VCCustomBuildTool"/> + <Tool + Name="VCLibrarianTool" + OutputFile="$(OutDir)/json_vc71_libmt.lib"/> + <Tool + Name="VCMIDLTool"/> + <Tool + Name="VCPostBuildEventTool"/> + <Tool + Name="VCPreBuildEventTool"/> + <Tool + Name="VCPreLinkEventTool"/> + <Tool + Name="VCResourceCompilerTool"/> + <Tool + Name="VCWebServiceProxyGeneratorTool"/> + <Tool + Name="VCXMLDataGeneratorTool"/> + <Tool + Name="VCManagedWrapperGeneratorTool"/> + <Tool + Name="VCAuxiliaryManagedWrapperGeneratorTool"/> + </Configuration> + <Configuration + Name="dummy|Win32" + OutputDirectory="$(ConfigurationName)" + IntermediateDirectory="$(ConfigurationName)" + ConfigurationType="2" + CharacterSet="2" + WholeProgramOptimization="TRUE"> + <Tool + Name="VCCLCompilerTool" + GlobalOptimizations="TRUE" + EnableIntrinsicFunctions="TRUE" + AdditionalIncludeDirectories="../../include" + PreprocessorDefinitions="WIN32;NDEBUG;_LIB" + StringPooling="TRUE" + RuntimeLibrary="4" + EnableFunctionLevelLinking="TRUE" + DisableLanguageExtensions="TRUE" + ForceConformanceInForLoopScope="FALSE" + RuntimeTypeInfo="TRUE" + UsePrecompiledHeader="0" + AssemblerOutput="4" + WarningLevel="3" + Detect64BitPortabilityProblems="TRUE" + DebugInformationFormat="3"/> + <Tool + Name="VCCustomBuildTool"/> + <Tool + Name="VCLinkerTool" + GenerateDebugInformation="TRUE" + SubSystem="2" + OptimizeReferences="2" + EnableCOMDATFolding="2" + TargetMachine="1"/> + <Tool + Name="VCMIDLTool"/> + <Tool + Name="VCPostBuildEventTool"/> + <Tool + Name="VCPreBuildEventTool"/> + <Tool + Name="VCPreLinkEventTool"/> + <Tool + Name="VCResourceCompilerTool"/> + <Tool + Name="VCWebServiceProxyGeneratorTool"/> + <Tool + Name="VCXMLDataGeneratorTool"/> + <Tool + Name="VCWebDeploymentTool"/> + <Tool + Name="VCManagedWrapperGeneratorTool"/> + <Tool + Name="VCAuxiliaryManagedWrapperGeneratorTool"/> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <File + RelativePath="..\..\include\json\autolink.h"> + </File> + <File + RelativePath="..\..\include\json\config.h"> + </File> + <File + RelativePath="..\..\include\json\features.h"> + </File> + <File + RelativePath="..\..\include\json\forwards.h"> + </File> + <File + RelativePath="..\..\include\json\json.h"> + </File> + <File + RelativePath="..\..\src\lib_json\json_reader.cpp"> + </File> + <File + RelativePath="..\..\src\lib_json\json_value.cpp"> + </File> + <File + RelativePath="..\..\src\lib_json\json_valueiterator.inl"> + </File> + <File + RelativePath="..\..\src\lib_json\json_writer.cpp"> + </File> + <File + RelativePath="..\..\include\json\reader.h"> + </File> + <File + RelativePath="..\..\include\json\value.h"> + </File> + <File + RelativePath="..\..\include\json\writer.h"> + </File> + </Files> + <Globals> + </Globals> +</VisualStudioProject> http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/f3f8f531/thirdparty/jsoncpp/makefiles/vs71/test_lib_json.vcproj ---------------------------------------------------------------------- diff --git a/thirdparty/jsoncpp/makefiles/vs71/test_lib_json.vcproj b/thirdparty/jsoncpp/makefiles/vs71/test_lib_json.vcproj new file mode 100644 index 0000000..df36700 --- /dev/null +++ b/thirdparty/jsoncpp/makefiles/vs71/test_lib_json.vcproj @@ -0,0 +1,130 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="7.10" + Name="test_lib_json" + ProjectGUID="{B7A96B78-2782-40D2-8F37-A2DEF2B9C26D}" + RootNamespace="test_lib_json" + Keyword="Win32Proj"> + <Platforms> + <Platform + Name="Win32"/> + </Platforms> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="../../build/vs71/debug/test_lib_json" + IntermediateDirectory="../../build/vs71/debug/test_lib_json" + ConfigurationType="1" + CharacterSet="2"> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="../../include" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + MinimalRebuild="TRUE" + BasicRuntimeChecks="3" + RuntimeLibrary="1" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="TRUE" + DebugInformationFormat="4"/> + <Tool + Name="VCCustomBuildTool"/> + <Tool + Name="VCLinkerTool" + OutputFile="$(OutDir)/test_lib_json.exe" + LinkIncremental="2" + GenerateDebugInformation="TRUE" + ProgramDatabaseFile="$(OutDir)/test_lib_json.pdb" + SubSystem="1" + TargetMachine="1"/> + <Tool + Name="VCMIDLTool"/> + <Tool + Name="VCPostBuildEventTool" + Description="Running all unit tests" + CommandLine="$(TargetPath)"/> + <Tool + Name="VCPreBuildEventTool"/> + <Tool + Name="VCPreLinkEventTool"/> + <Tool + Name="VCResourceCompilerTool"/> + <Tool + Name="VCWebServiceProxyGeneratorTool"/> + <Tool + Name="VCXMLDataGeneratorTool"/> + <Tool + Name="VCWebDeploymentTool"/> + <Tool + Name="VCManagedWrapperGeneratorTool"/> + <Tool + Name="VCAuxiliaryManagedWrapperGeneratorTool"/> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="../../build/vs71/release/test_lib_json" + IntermediateDirectory="../../build/vs71/release/test_lib_json" + ConfigurationType="1" + CharacterSet="2"> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="../../include" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + RuntimeLibrary="0" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="TRUE" + DebugInformationFormat="3"/> + <Tool + Name="VCCustomBuildTool"/> + <Tool + Name="VCLinkerTool" + OutputFile="$(OutDir)/test_lib_json.exe" + LinkIncremental="1" + GenerateDebugInformation="TRUE" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + TargetMachine="1"/> + <Tool + Name="VCMIDLTool"/> + <Tool + Name="VCPostBuildEventTool" + Description="Running all unit tests" + CommandLine="$(TargetPath)"/> + <Tool + Name="VCPreBuildEventTool"/> + <Tool + Name="VCPreLinkEventTool"/> + <Tool + Name="VCResourceCompilerTool"/> + <Tool + Name="VCWebServiceProxyGeneratorTool"/> + <Tool + Name="VCXMLDataGeneratorTool"/> + <Tool + Name="VCWebDeploymentTool"/> + <Tool + Name="VCManagedWrapperGeneratorTool"/> + <Tool + Name="VCAuxiliaryManagedWrapperGeneratorTool"/> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <File + RelativePath="..\..\src\test_lib_json\jsontest.cpp"> + </File> + <File + RelativePath="..\..\src\test_lib_json\jsontest.h"> + </File> + <File + RelativePath="..\..\src\test_lib_json\main.cpp"> + </File> + </Files> + <Globals> + </Globals> +</VisualStudioProject> http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/f3f8f531/thirdparty/jsoncpp/makerelease.py ---------------------------------------------------------------------- diff --git a/thirdparty/jsoncpp/makerelease.py b/thirdparty/jsoncpp/makerelease.py new file mode 100644 index 0000000..ea3722d --- /dev/null +++ b/thirdparty/jsoncpp/makerelease.py @@ -0,0 +1,390 @@ +# Copyright 2010 Baptiste Lepilleur +# Distributed under MIT license, or public domain if desired and +# recognized in your jurisdiction. +# See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE + +"""Tag the sandbox for release, make source and doc tarballs. + +Requires Python 2.6 + +Example of invocation (use to test the script): +python makerelease.py --platform=msvc6,msvc71,msvc80,msvc90,mingw -ublep 0.6.0 0.7.0-dev + +When testing this script: +python makerelease.py --force --retag --platform=msvc6,msvc71,msvc80,mingw -ublep test-0.6.0 test-0.6.1-dev + +Example of invocation when doing a release: +python makerelease.py 0.5.0 0.6.0-dev + +Note: This was for Subversion. Now that we are in GitHub, we do not +need to build versioned tarballs anymore, so makerelease.py is defunct. +""" + +from __future__ import print_function +import os.path +import subprocess +import sys +import doxybuild +import subprocess +import xml.etree.ElementTree as ElementTree +import shutil +import urllib2 +import tempfile +import os +import time +from devtools import antglob, fixeol, tarball +import amalgamate + +SVN_ROOT = 'https://jsoncpp.svn.sourceforge.net/svnroot/jsoncpp/' +SVN_TAG_ROOT = SVN_ROOT + 'tags/jsoncpp' +SCONS_LOCAL_URL = 'http://sourceforge.net/projects/scons/files/scons-local/1.2.0/scons-local-1.2.0.tar.gz/download' +SOURCEFORGE_PROJECT = 'jsoncpp' + +def set_version(version): + with open('version','wb') as f: + f.write(version.strip()) + +def rmdir_if_exist(dir_path): + if os.path.isdir(dir_path): + shutil.rmtree(dir_path) + +class SVNError(Exception): + pass + +def svn_command(command, *args): + cmd = ['svn', '--non-interactive', command] + list(args) + print('Running:', ' '.join(cmd)) + process = subprocess.Popen(cmd, + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT) + stdout = process.communicate()[0] + if process.returncode: + error = SVNError('SVN command failed:\n' + stdout) + error.returncode = process.returncode + raise error + return stdout + +def check_no_pending_commit(): + """Checks that there is no pending commit in the sandbox.""" + stdout = svn_command('status', '--xml') + etree = ElementTree.fromstring(stdout) + msg = [] + for entry in etree.getiterator('entry'): + path = entry.get('path') + status = entry.find('wc-status').get('item') + if status != 'unversioned' and path != 'version': + msg.append('File "%s" has pending change (status="%s")' % (path, status)) + if msg: + msg.insert(0, 'Pending change to commit found in sandbox. Commit them first!') + return '\n'.join(msg) + +def svn_join_url(base_url, suffix): + if not base_url.endswith('/'): + base_url += '/' + if suffix.startswith('/'): + suffix = suffix[1:] + return base_url + suffix + +def svn_check_if_tag_exist(tag_url): + """Checks if a tag exist. + Returns: True if the tag exist, False otherwise. + """ + try: + list_stdout = svn_command('list', tag_url) + except SVNError as e: + if e.returncode != 1 or not str(e).find('tag_url'): + raise e + # otherwise ignore error, meaning tag does not exist + return False + return True + +def svn_commit(message): + """Commit the sandbox, providing the specified comment. + """ + svn_command('ci', '-m', message) + +def svn_tag_sandbox(tag_url, message): + """Makes a tag based on the sandbox revisions. + """ + svn_command('copy', '-m', message, '.', tag_url) + +def svn_remove_tag(tag_url, message): + """Removes an existing tag. + """ + svn_command('delete', '-m', message, tag_url) + +def svn_export(tag_url, export_dir): + """Exports the tag_url revision to export_dir. + Target directory, including its parent is created if it does not exist. + If the directory export_dir exist, it is deleted before export proceed. + """ + rmdir_if_exist(export_dir) + svn_command('export', tag_url, export_dir) + +def fix_sources_eol(dist_dir): + """Set file EOL for tarball distribution. + """ + print('Preparing exported source file EOL for distribution...') + prune_dirs = antglob.prune_dirs + 'scons-local* ./build* ./libs ./dist' + win_sources = antglob.glob(dist_dir, + includes = '**/*.sln **/*.vcproj', + prune_dirs = prune_dirs) + unix_sources = antglob.glob(dist_dir, + includes = '''**/*.h **/*.cpp **/*.inl **/*.txt **/*.dox **/*.py **/*.html **/*.in + sconscript *.json *.expected AUTHORS LICENSE''', + excludes = antglob.default_excludes + 'scons.py sconsign.py scons-*', + prune_dirs = prune_dirs) + for path in win_sources: + fixeol.fix_source_eol(path, is_dry_run = False, verbose = True, eol = '\r\n') + for path in unix_sources: + fixeol.fix_source_eol(path, is_dry_run = False, verbose = True, eol = '\n') + +def download(url, target_path): + """Download file represented by url to target_path. + """ + f = urllib2.urlopen(url) + try: + data = f.read() + finally: + f.close() + fout = open(target_path, 'wb') + try: + fout.write(data) + finally: + fout.close() + +def check_compile(distcheck_top_dir, platform): + cmd = [sys.executable, 'scons.py', 'platform=%s' % platform, 'check'] + print('Running:', ' '.join(cmd)) + log_path = os.path.join(distcheck_top_dir, 'build-%s.log' % platform) + flog = open(log_path, 'wb') + try: + process = subprocess.Popen(cmd, + stdout=flog, + stderr=subprocess.STDOUT, + cwd=distcheck_top_dir) + stdout = process.communicate()[0] + status = (process.returncode == 0) + finally: + flog.close() + return (status, log_path) + +def write_tempfile(content, **kwargs): + fd, path = tempfile.mkstemp(**kwargs) + f = os.fdopen(fd, 'wt') + try: + f.write(content) + finally: + f.close() + return path + +class SFTPError(Exception): + pass + +def run_sftp_batch(userhost, sftp, batch, retry=0): + path = write_tempfile(batch, suffix='.sftp', text=True) + # psftp -agent -C blep,[email protected] -batch -b batch.sftp -bc + cmd = [sftp, '-agent', '-C', '-batch', '-b', path, '-bc', userhost] + error = None + for retry_index in range(0, max(1,retry)): + heading = retry_index == 0 and 'Running:' or 'Retrying:' + print(heading, ' '.join(cmd)) + process = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + stdout = process.communicate()[0] + if process.returncode != 0: + error = SFTPError('SFTP batch failed:\n' + stdout) + else: + break + if error: + raise error + return stdout + +def sourceforge_web_synchro(sourceforge_project, doc_dir, + user=None, sftp='sftp'): + """Notes: does not synchronize sub-directory of doc-dir. + """ + userhost = '%s,%[email protected]' % (user, sourceforge_project) + stdout = run_sftp_batch(userhost, sftp, """ +cd htdocs +dir +exit +""") + existing_paths = set() + collect = 0 + for line in stdout.split('\n'): + line = line.strip() + if not collect and line.endswith('> dir'): + collect = True + elif collect and line.endswith('> exit'): + break + elif collect == 1: + collect = 2 + elif collect == 2: + path = line.strip().split()[-1:] + if path and path[0] not in ('.', '..'): + existing_paths.add(path[0]) + upload_paths = set([os.path.basename(p) for p in antglob.glob(doc_dir)]) + paths_to_remove = existing_paths - upload_paths + if paths_to_remove: + print('Removing the following file from web:') + print('\n'.join(paths_to_remove)) + stdout = run_sftp_batch(userhost, sftp, """cd htdocs +rm %s +exit""" % ' '.join(paths_to_remove)) + print('Uploading %d files:' % len(upload_paths)) + batch_size = 10 + upload_paths = list(upload_paths) + start_time = time.time() + for index in range(0,len(upload_paths),batch_size): + paths = upload_paths[index:index+batch_size] + file_per_sec = (time.time() - start_time) / (index+1) + remaining_files = len(upload_paths) - index + remaining_sec = file_per_sec * remaining_files + print('%d/%d, ETA=%.1fs' % (index+1, len(upload_paths), remaining_sec)) + run_sftp_batch(userhost, sftp, """cd htdocs +lcd %s +mput %s +exit""" % (doc_dir, ' '.join(paths)), retry=3) + +def sourceforge_release_tarball(sourceforge_project, paths, user=None, sftp='sftp'): + userhost = '%s,%[email protected]' % (user, sourceforge_project) + run_sftp_batch(userhost, sftp, """ +mput %s +exit +""" % (' '.join(paths),)) + + +def main(): + usage = """%prog release_version next_dev_version +Update 'version' file to release_version and commit. +Generates the document tarball. +Tags the sandbox revision with release_version. +Update 'version' file to next_dev_version and commit. + +Performs an svn export of tag release version, and build a source tarball. + +Must be started in the project top directory. + +Warning: --force should only be used when developping/testing the release script. +""" + from optparse import OptionParser + parser = OptionParser(usage=usage) + parser.allow_interspersed_args = False + parser.add_option('--dot', dest="dot_path", action='store', default=doxybuild.find_program('dot'), + help="""Path to GraphViz dot tool. Must be full qualified path. [Default: %default]""") + parser.add_option('--doxygen', dest="doxygen_path", action='store', default=doxybuild.find_program('doxygen'), + help="""Path to Doxygen tool. [Default: %default]""") + parser.add_option('--force', dest="ignore_pending_commit", action='store_true', default=False, + help="""Ignore pending commit. [Default: %default]""") + parser.add_option('--retag', dest="retag_release", action='store_true', default=False, + help="""Overwrite release existing tag if it exist. [Default: %default]""") + parser.add_option('-p', '--platforms', dest="platforms", action='store', default='', + help="""Comma separated list of platform passed to scons for build check.""") + parser.add_option('--no-test', dest="no_test", action='store_true', default=False, + help="""Skips build check.""") + parser.add_option('--no-web', dest="no_web", action='store_true', default=False, + help="""Do not update web site.""") + parser.add_option('-u', '--upload-user', dest="user", action='store', + help="""Sourceforge user for SFTP documentation upload.""") + parser.add_option('--sftp', dest='sftp', action='store', default=doxybuild.find_program('psftp', 'sftp'), + help="""Path of the SFTP compatible binary used to upload the documentation.""") + parser.enable_interspersed_args() + options, args = parser.parse_args() + + if len(args) != 2: + parser.error('release_version missing on command-line.') + release_version = args[0] + next_version = args[1] + + if not options.platforms and not options.no_test: + parser.error('You must specify either --platform or --no-test option.') + + if options.ignore_pending_commit: + msg = '' + else: + msg = check_no_pending_commit() + if not msg: + print('Setting version to', release_version) + set_version(release_version) + svn_commit('Release ' + release_version) + tag_url = svn_join_url(SVN_TAG_ROOT, release_version) + if svn_check_if_tag_exist(tag_url): + if options.retag_release: + svn_remove_tag(tag_url, 'Overwriting previous tag') + else: + print('Aborting, tag %s already exist. Use --retag to overwrite it!' % tag_url) + sys.exit(1) + svn_tag_sandbox(tag_url, 'Release ' + release_version) + + print('Generated doxygen document...') +## doc_dirname = r'jsoncpp-api-html-0.5.0' +## doc_tarball_path = r'e:\prg\vc\Lib\jsoncpp-trunk\dist\jsoncpp-api-html-0.5.0.tar.gz' + doc_tarball_path, doc_dirname = doxybuild.build_doc(options, make_release=True) + doc_distcheck_dir = 'dist/doccheck' + tarball.decompress(doc_tarball_path, doc_distcheck_dir) + doc_distcheck_top_dir = os.path.join(doc_distcheck_dir, doc_dirname) + + export_dir = 'dist/export' + svn_export(tag_url, export_dir) + fix_sources_eol(export_dir) + + source_dir = 'jsoncpp-src-' + release_version + source_tarball_path = 'dist/%s.tar.gz' % source_dir + print('Generating source tarball to', source_tarball_path) + tarball.make_tarball(source_tarball_path, [export_dir], export_dir, prefix_dir=source_dir) + + amalgamation_tarball_path = 'dist/%s-amalgamation.tar.gz' % source_dir + print('Generating amalgamation source tarball to', amalgamation_tarball_path) + amalgamation_dir = 'dist/amalgamation' + amalgamate.amalgamate_source(export_dir, '%s/jsoncpp.cpp' % amalgamation_dir, 'json/json.h') + amalgamation_source_dir = 'jsoncpp-src-amalgamation' + release_version + tarball.make_tarball(amalgamation_tarball_path, [amalgamation_dir], + amalgamation_dir, prefix_dir=amalgamation_source_dir) + + # Decompress source tarball, download and install scons-local + distcheck_dir = 'dist/distcheck' + distcheck_top_dir = distcheck_dir + '/' + source_dir + print('Decompressing source tarball to', distcheck_dir) + rmdir_if_exist(distcheck_dir) + tarball.decompress(source_tarball_path, distcheck_dir) + scons_local_path = 'dist/scons-local.tar.gz' + print('Downloading scons-local to', scons_local_path) + download(SCONS_LOCAL_URL, scons_local_path) + print('Decompressing scons-local to', distcheck_top_dir) + tarball.decompress(scons_local_path, distcheck_top_dir) + + # Run compilation + print('Compiling decompressed tarball') + all_build_status = True + for platform in options.platforms.split(','): + print('Testing platform:', platform) + build_status, log_path = check_compile(distcheck_top_dir, platform) + print('see build log:', log_path) + print(build_status and '=> ok' or '=> FAILED') + all_build_status = all_build_status and build_status + if not build_status: + print('Testing failed on at least one platform, aborting...') + svn_remove_tag(tag_url, 'Removing tag due to failed testing') + sys.exit(1) + if options.user: + if not options.no_web: + print('Uploading documentation using user', options.user) + sourceforge_web_synchro(SOURCEFORGE_PROJECT, doc_distcheck_top_dir, user=options.user, sftp=options.sftp) + print('Completed documentation upload') + print('Uploading source and documentation tarballs for release using user', options.user) + sourceforge_release_tarball(SOURCEFORGE_PROJECT, + [source_tarball_path, doc_tarball_path], + user=options.user, sftp=options.sftp) + print('Source and doc release tarballs uploaded') + else: + print('No upload user specified. Web site and download tarbal were not uploaded.') + print('Tarball can be found at:', doc_tarball_path) + + # Set next version number and commit + set_version(next_version) + svn_commit('Released ' + release_version) + else: + sys.stderr.write(msg + '\n') + +if __name__ == '__main__': + main() http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/f3f8f531/thirdparty/jsoncpp/pkg-config/jsoncpp.pc.in ---------------------------------------------------------------------- diff --git a/thirdparty/jsoncpp/pkg-config/jsoncpp.pc.in b/thirdparty/jsoncpp/pkg-config/jsoncpp.pc.in new file mode 100644 index 0000000..dea51f5 --- /dev/null +++ b/thirdparty/jsoncpp/pkg-config/jsoncpp.pc.in @@ -0,0 +1,9 @@ +libdir=@CMAKE_INSTALL_FULL_LIBDIR@ +includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@ + +Name: jsoncpp +Description: A C++ library for interacting with JSON +Version: @JSONCPP_VERSION@ +URL: https://github.com/open-source-parsers/jsoncpp +Libs: -L${libdir} -ljsoncpp +Cflags: -I${includedir} http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/f3f8f531/thirdparty/jsoncpp/scons-tools/globtool.py ---------------------------------------------------------------------- diff --git a/thirdparty/jsoncpp/scons-tools/globtool.py b/thirdparty/jsoncpp/scons-tools/globtool.py new file mode 100644 index 0000000..890f1b7 --- /dev/null +++ b/thirdparty/jsoncpp/scons-tools/globtool.py @@ -0,0 +1,58 @@ +# Copyright 2009 Baptiste Lepilleur +# Distributed under MIT license, or public domain if desired and +# recognized in your jurisdiction. +# See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE + +import fnmatch +import os + +def generate(env): + def Glob(env, includes = None, excludes = None, dir = '.'): + """Adds Glob(includes = Split('*'), excludes = None, dir = '.') + helper function to environment. + + Glob both the file-system files. + + includes: list of file name pattern included in the return list when matched. + excludes: list of file name pattern exluced from the return list. + + Example: + sources = env.Glob(("*.cpp", '*.h'), "~*.cpp", "#src") + """ + def filterFilename(path): + abs_path = os.path.join(dir, path) + if not os.path.isfile(abs_path): + return 0 + fn = os.path.basename(path) + match = 0 + for include in includes: + if fnmatch.fnmatchcase(fn, include): + match = 1 + break + if match == 1 and not excludes is None: + for exclude in excludes: + if fnmatch.fnmatchcase(fn, exclude): + match = 0 + break + return match + if includes is None: + includes = ('*',) + elif type(includes) in (type(''), type(u'')): + includes = (includes,) + if type(excludes) in (type(''), type(u'')): + excludes = (excludes,) + dir = env.Dir(dir).abspath + paths = os.listdir(dir) + def makeAbsFileNode(path): + return env.File(os.path.join(dir, path)) + nodes = filter(filterFilename, paths) + return map(makeAbsFileNode, nodes) + + from SCons.Script import Environment + Environment.Glob = Glob + +def exists(env): + """ + Tool always exists. + """ + return True http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/f3f8f531/thirdparty/jsoncpp/scons-tools/srcdist.py ---------------------------------------------------------------------- diff --git a/thirdparty/jsoncpp/scons-tools/srcdist.py b/thirdparty/jsoncpp/scons-tools/srcdist.py new file mode 100644 index 0000000..fe1d746 --- /dev/null +++ b/thirdparty/jsoncpp/scons-tools/srcdist.py @@ -0,0 +1,183 @@ +# Copyright 2007 Baptiste Lepilleur +# Distributed under MIT license, or public domain if desired and +# recognized in your jurisdiction. +# See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE + +import os +import os.path +from fnmatch import fnmatch +import targz + +##def DoxyfileParse(file_contents): +## """ +## Parse a Doxygen source file and return a dictionary of all the values. +## Values will be strings and lists of strings. +## """ +## data = {} +## +## import shlex +## lex = shlex.shlex(instream = file_contents, posix = True) +## lex.wordchars += "*+./-:" +## lex.whitespace = lex.whitespace.replace("\n", "") +## lex.escape = "" +## +## lineno = lex.lineno +## last_backslash_lineno = lineno +## token = lex.get_token() +## key = token # the first token should be a key +## last_token = "" +## key_token = False +## next_key = False +## new_data = True +## +## def append_data(data, key, new_data, token): +## if new_data or len(data[key]) == 0: +## data[key].append(token) +## else: +## data[key][-1] += token +## +## while token: +## if token in ['\n']: +## if last_token not in ['\\']: +## key_token = True +## elif token in ['\\']: +## pass +## elif key_token: +## key = token +## key_token = False +## else: +## if token == "+=": +## if not data.has_key(key): +## data[key] = list() +## elif token == "=": +## data[key] = list() +## else: +## append_data(data, key, new_data, token) +## new_data = True +## +## last_token = token +## token = lex.get_token() +## +## if last_token == '\\' and token != '\n': +## new_data = False +## append_data(data, key, new_data, '\\') +## +## # compress lists of len 1 into single strings +## for (k, v) in data.items(): +## if len(v) == 0: +## data.pop(k) +## +## # items in the following list will be kept as lists and not converted to strings +## if k in ["INPUT", "FILE_PATTERNS", "EXCLUDE_PATTERNS"]: +## continue +## +## if len(v) == 1: +## data[k] = v[0] +## +## return data +## +##def DoxySourceScan(node, env, path): +## """ +## Doxygen Doxyfile source scanner. This should scan the Doxygen file and add +## any files used to generate docs to the list of source files. +## """ +## default_file_patterns = [ +## '*.c', '*.cc', '*.cxx', '*.cpp', '*.c++', '*.java', '*.ii', '*.ixx', +## '*.ipp', '*.i++', '*.inl', '*.h', '*.hh ', '*.hxx', '*.hpp', '*.h++', +## '*.idl', '*.odl', '*.cs', '*.php', '*.php3', '*.inc', '*.m', '*.mm', +## '*.py', +## ] +## +## default_exclude_patterns = [ +## '*~', +## ] +## +## sources = [] +## +## data = DoxyfileParse(node.get_contents()) +## +## if data.get("RECURSIVE", "NO") == "YES": +## recursive = True +## else: +## recursive = False +## +## file_patterns = data.get("FILE_PATTERNS", default_file_patterns) +## exclude_patterns = data.get("EXCLUDE_PATTERNS", default_exclude_patterns) +## +## for node in data.get("INPUT", []): +## if os.path.isfile(node): +## sources.add(node) +## elif os.path.isdir(node): +## if recursive: +## for root, dirs, files in os.walk(node): +## for f in files: +## filename = os.path.join(root, f) +## +## pattern_check = reduce(lambda x, y: x or bool(fnmatch(filename, y)), file_patterns, False) +## exclude_check = reduce(lambda x, y: x and fnmatch(filename, y), exclude_patterns, True) +## +## if pattern_check and not exclude_check: +## sources.append(filename) +## else: +## for pattern in file_patterns: +## sources.extend(glob.glob("/".join([node, pattern]))) +## sources = map(lambda path: env.File(path), sources) +## return sources +## +## +##def DoxySourceScanCheck(node, env): +## """Check if we should scan this file""" +## return os.path.isfile(node.path) + +def srcDistEmitter(source, target, env): +## """Doxygen Doxyfile emitter""" +## # possible output formats and their default values and output locations +## output_formats = { +## "HTML": ("YES", "html"), +## "LATEX": ("YES", "latex"), +## "RTF": ("NO", "rtf"), +## "MAN": ("YES", "man"), +## "XML": ("NO", "xml"), +## } +## +## data = DoxyfileParse(source[0].get_contents()) +## +## targets = [] +## out_dir = data.get("OUTPUT_DIRECTORY", ".") +## +## # add our output locations +## for (k, v) in output_formats.items(): +## if data.get("GENERATE_" + k, v[0]) == "YES": +## targets.append(env.Dir(os.path.join(out_dir, data.get(k + "_OUTPUT", v[1])))) +## +## # don't clobber targets +## for node in targets: +## env.Precious(node) +## +## # set up cleaning stuff +## for node in targets: +## env.Clean(node, node) +## +## return (targets, source) + return (target,source) + +def generate(env): + """ + Add builders and construction variables for the + SrcDist tool. + """ +## doxyfile_scanner = env.Scanner(## DoxySourceScan, +## "DoxySourceScan", +## scan_check = DoxySourceScanCheck, +##) + + if targz.exists(env): + srcdist_builder = targz.makeBuilder(srcDistEmitter) + + env['BUILDERS']['SrcDist'] = srcdist_builder + +def exists(env): + """ + Make sure srcdist exists. + """ + return targz.exists(env) http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/f3f8f531/thirdparty/jsoncpp/scons-tools/substinfile.py ---------------------------------------------------------------------- diff --git a/thirdparty/jsoncpp/scons-tools/substinfile.py b/thirdparty/jsoncpp/scons-tools/substinfile.py new file mode 100644 index 0000000..c620442 --- /dev/null +++ b/thirdparty/jsoncpp/scons-tools/substinfile.py @@ -0,0 +1,85 @@ +# Copyright 2010 Baptiste Lepilleur +# Distributed under MIT license, or public domain if desired and +# recognized in your jurisdiction. +# See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE + +import re +from SCons.Script import * # the usual scons stuff you get in a SConscript +import collections + +def generate(env): + """ + Add builders and construction variables for the + SubstInFile tool. + + Adds SubstInFile builder, which substitutes the keys->values of SUBST_DICT + from the source to the target. + The values of SUBST_DICT first have any construction variables expanded + (its keys are not expanded). + If a value of SUBST_DICT is a python callable function, it is called and + the result is expanded as the value. + If there's more than one source and more than one target, each target gets + substituted from the corresponding source. + """ + def do_subst_in_file(targetfile, sourcefile, dict): + """Replace all instances of the keys of dict with their values. + For example, if dict is {'%VERSION%': '1.2345', '%BASE%': 'MyProg'}, + then all instances of %VERSION% in the file will be replaced with 1.2345 etc. + """ + try: + f = open(sourcefile, 'rb') + contents = f.read() + f.close() + except: + raise SCons.Errors.UserError("Can't read source file %s"%sourcefile) + for (k,v) in list(dict.items()): + contents = re.sub(k, v, contents) + try: + f = open(targetfile, 'wb') + f.write(contents) + f.close() + except: + raise SCons.Errors.UserError("Can't write target file %s"%targetfile) + return 0 # success + + def subst_in_file(target, source, env): + if 'SUBST_DICT' not in env: + raise SCons.Errors.UserError("SubstInFile requires SUBST_DICT to be set.") + d = dict(env['SUBST_DICT']) # copy it + for (k,v) in list(d.items()): + if isinstance(v, collections.Callable): + d[k] = env.subst(v()).replace('\\','\\\\') + elif SCons.Util.is_String(v): + d[k] = env.subst(v).replace('\\','\\\\') + else: + raise SCons.Errors.UserError("SubstInFile: key %s: %s must be a string or callable"%(k, repr(v))) + for (t,s) in zip(target, source): + return do_subst_in_file(str(t), str(s), d) + + def subst_in_file_string(target, source, env): + """This is what gets printed on the console.""" + return '\n'.join(['Substituting vars from %s into %s'%(str(s), str(t)) + for (t,s) in zip(target, source)]) + + def subst_emitter(target, source, env): + """Add dependency from substituted SUBST_DICT to target. + Returns original target, source tuple unchanged. + """ + d = env['SUBST_DICT'].copy() # copy it + for (k,v) in list(d.items()): + if isinstance(v, collections.Callable): + d[k] = env.subst(v()) + elif SCons.Util.is_String(v): + d[k]=env.subst(v) + Depends(target, SCons.Node.Python.Value(d)) + return target, source + +## env.Append(TOOLS = 'substinfile') # this should be automaticaly done by Scons ?!? + subst_action = SCons.Action.Action(subst_in_file, subst_in_file_string) + env['BUILDERS']['SubstInFile'] = Builder(action=subst_action, emitter=subst_emitter) + +def exists(env): + """ + Make sure tool exists. + """ + return True http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/f3f8f531/thirdparty/jsoncpp/scons-tools/targz.py ---------------------------------------------------------------------- diff --git a/thirdparty/jsoncpp/scons-tools/targz.py b/thirdparty/jsoncpp/scons-tools/targz.py new file mode 100644 index 0000000..8e5ba83 --- /dev/null +++ b/thirdparty/jsoncpp/scons-tools/targz.py @@ -0,0 +1,87 @@ +# Copyright 2007 Baptiste Lepilleur +# Distributed under MIT license, or public domain if desired and +# recognized in your jurisdiction. +# See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE + +"""tarball + +Tool-specific initialization for tarball. + +""" + +## Commands to tackle a command based implementation: +##to unpack on the fly... +##gunzip < FILE.tar.gz | tar xvf - +##to pack on the fly... +##tar cvf - FILE-LIST | gzip -c > FILE.tar.gz + +import os.path + +import SCons.Builder +import SCons.Node.FS +import SCons.Util + +try: + import gzip + import tarfile + internal_targz = 1 +except ImportError: + internal_targz = 0 + +TARGZ_DEFAULT_COMPRESSION_LEVEL = 9 + +if internal_targz: + def targz(target, source, env): + def archive_name(path): + path = os.path.normpath(os.path.abspath(path)) + common_path = os.path.commonprefix((base_dir, path)) + archive_name = path[len(common_path):] + return archive_name + + def visit(tar, dirname, names): + for name in names: + path = os.path.join(dirname, name) + if os.path.isfile(path): + tar.add(path, archive_name(path)) + compression = env.get('TARGZ_COMPRESSION_LEVEL',TARGZ_DEFAULT_COMPRESSION_LEVEL) + base_dir = os.path.normpath(env.get('TARGZ_BASEDIR', env.Dir('.')).abspath) + target_path = str(target[0]) + fileobj = gzip.GzipFile(target_path, 'wb', compression) + tar = tarfile.TarFile(os.path.splitext(target_path)[0], 'w', fileobj) + for source in source: + source_path = str(source) + if source.isdir(): + os.path.walk(source_path, visit, tar) + else: + tar.add(source_path, archive_name(source_path)) # filename, arcname + tar.close() + + targzAction = SCons.Action.Action(targz, varlist=['TARGZ_COMPRESSION_LEVEL','TARGZ_BASEDIR']) + + def makeBuilder(emitter = None): + return SCons.Builder.Builder(action = SCons.Action.Action('$TARGZ_COM', '$TARGZ_COMSTR'), + source_factory = SCons.Node.FS.Entry, + source_scanner = SCons.Defaults.DirScanner, + suffix = '$TARGZ_SUFFIX', + multi = 1) + TarGzBuilder = makeBuilder() + + def generate(env): + """Add Builders and construction variables for zip to an Environment. + The following environnement variables may be set: + TARGZ_COMPRESSION_LEVEL: integer, [0-9]. 0: no compression, 9: best compression (same as gzip compression level). + TARGZ_BASEDIR: base-directory used to determine archive name (this allow archive name to be relative + to something other than top-dir). + """ + env['BUILDERS']['TarGz'] = TarGzBuilder + env['TARGZ_COM'] = targzAction + env['TARGZ_COMPRESSION_LEVEL'] = TARGZ_DEFAULT_COMPRESSION_LEVEL # range 0-9 + env['TARGZ_SUFFIX'] = '.tar.gz' + env['TARGZ_BASEDIR'] = env.Dir('.') # Sources archive name are made relative to that directory. +else: + def generate(env): + pass + + +def exists(env): + return internal_targz http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/f3f8f531/thirdparty/jsoncpp/src/CMakeLists.txt ---------------------------------------------------------------------- diff --git a/thirdparty/jsoncpp/src/CMakeLists.txt b/thirdparty/jsoncpp/src/CMakeLists.txt new file mode 100644 index 0000000..ca8ac15 --- /dev/null +++ b/thirdparty/jsoncpp/src/CMakeLists.txt @@ -0,0 +1,5 @@ +ADD_SUBDIRECTORY(lib_json) +IF(JSONCPP_WITH_TESTS) + ADD_SUBDIRECTORY(jsontestrunner) + ADD_SUBDIRECTORY(test_lib_json) +ENDIF() http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/f3f8f531/thirdparty/jsoncpp/src/jsontestrunner/CMakeLists.txt ---------------------------------------------------------------------- diff --git a/thirdparty/jsoncpp/src/jsontestrunner/CMakeLists.txt b/thirdparty/jsoncpp/src/jsontestrunner/CMakeLists.txt new file mode 100644 index 0000000..20d01e6 --- /dev/null +++ b/thirdparty/jsoncpp/src/jsontestrunner/CMakeLists.txt @@ -0,0 +1,25 @@ +FIND_PACKAGE(PythonInterp 2.6) + +ADD_EXECUTABLE(jsontestrunner_exe + main.cpp + ) + +IF(BUILD_SHARED_LIBS) + ADD_DEFINITIONS( -DJSON_DLL ) + TARGET_LINK_LIBRARIES(jsontestrunner_exe jsoncpp_lib) +ELSE(BUILD_SHARED_LIBS) + TARGET_LINK_LIBRARIES(jsontestrunner_exe jsoncpp_lib_static) +ENDIF() + +SET_TARGET_PROPERTIES(jsontestrunner_exe PROPERTIES OUTPUT_NAME jsontestrunner_exe) + +IF(PYTHONINTERP_FOUND) + # Run end to end parser/writer tests + SET(TEST_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../test) + SET(RUNJSONTESTS_PATH ${TEST_DIR}/runjsontests.py) + ADD_CUSTOM_TARGET(jsoncpp_readerwriter_tests + "${PYTHON_EXECUTABLE}" -B "${RUNJSONTESTS_PATH}" $<TARGET_FILE:jsontestrunner_exe> "${TEST_DIR}/data" + DEPENDS jsontestrunner_exe jsoncpp_test + ) + ADD_CUSTOM_TARGET(jsoncpp_check DEPENDS jsoncpp_readerwriter_tests) +ENDIF() http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/f3f8f531/thirdparty/jsoncpp/src/jsontestrunner/main.cpp ---------------------------------------------------------------------- diff --git a/thirdparty/jsoncpp/src/jsontestrunner/main.cpp b/thirdparty/jsoncpp/src/jsontestrunner/main.cpp new file mode 100644 index 0000000..45db464 --- /dev/null +++ b/thirdparty/jsoncpp/src/jsontestrunner/main.cpp @@ -0,0 +1,326 @@ +// Copyright 2007-2010 Baptiste Lepilleur +// Distributed under MIT license, or public domain if desired and +// recognized in your jurisdiction. +// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE + +/* This executable is used for testing parser/writer using real JSON files. + */ + +#include <json/json.h> +#include <algorithm> // sort +#include <sstream> +#include <stdio.h> + +#if defined(_MSC_VER) && _MSC_VER >= 1310 +#pragma warning(disable : 4996) // disable fopen deprecation warning +#endif + +struct Options +{ + JSONCPP_STRING path; + Json::Features features; + bool parseOnly; + typedef JSONCPP_STRING (*writeFuncType)(Json::Value const&); + writeFuncType write; +}; + +static JSONCPP_STRING normalizeFloatingPointStr(double value) { + char buffer[32]; +#if defined(_MSC_VER) && defined(__STDC_SECURE_LIB__) + sprintf_s(buffer, sizeof(buffer), "%.16g", value); +#else + snprintf(buffer, sizeof(buffer), "%.16g", value); +#endif + buffer[sizeof(buffer) - 1] = 0; + JSONCPP_STRING s(buffer); + JSONCPP_STRING::size_type index = s.find_last_of("eE"); + if (index != JSONCPP_STRING::npos) { + JSONCPP_STRING::size_type hasSign = + (s[index + 1] == '+' || s[index + 1] == '-') ? 1 : 0; + JSONCPP_STRING::size_type exponentStartIndex = index + 1 + hasSign; + JSONCPP_STRING normalized = s.substr(0, exponentStartIndex); + JSONCPP_STRING::size_type indexDigit = + s.find_first_not_of('0', exponentStartIndex); + JSONCPP_STRING exponent = "0"; + if (indexDigit != + JSONCPP_STRING::npos) // There is an exponent different from 0 + { + exponent = s.substr(indexDigit); + } + return normalized + exponent; + } + return s; +} + +static JSONCPP_STRING readInputTestFile(const char* path) { + FILE* file = fopen(path, "rb"); + if (!file) + return JSONCPP_STRING(""); + fseek(file, 0, SEEK_END); + long const size = ftell(file); + unsigned long const usize = static_cast<unsigned long>(size); + fseek(file, 0, SEEK_SET); + JSONCPP_STRING text; + char* buffer = new char[size + 1]; + buffer[size] = 0; + if (fread(buffer, 1, usize, file) == usize) + text = buffer; + fclose(file); + delete[] buffer; + return text; +} + +static void +printValueTree(FILE* fout, Json::Value& value, const JSONCPP_STRING& path = ".") { + if (value.hasComment(Json::commentBefore)) { + fprintf(fout, "%s\n", value.getComment(Json::commentBefore).c_str()); + } + switch (value.type()) { + case Json::nullValue: + fprintf(fout, "%s=null\n", path.c_str()); + break; + case Json::intValue: + fprintf(fout, + "%s=%s\n", + path.c_str(), + Json::valueToString(value.asLargestInt()).c_str()); + break; + case Json::uintValue: + fprintf(fout, + "%s=%s\n", + path.c_str(), + Json::valueToString(value.asLargestUInt()).c_str()); + break; + case Json::realValue: + fprintf(fout, + "%s=%s\n", + path.c_str(), + normalizeFloatingPointStr(value.asDouble()).c_str()); + break; + case Json::stringValue: + fprintf(fout, "%s=\"%s\"\n", path.c_str(), value.asString().c_str()); + break; + case Json::booleanValue: + fprintf(fout, "%s=%s\n", path.c_str(), value.asBool() ? "true" : "false"); + break; + case Json::arrayValue: { + fprintf(fout, "%s=[]\n", path.c_str()); + Json::ArrayIndex size = value.size(); + for (Json::ArrayIndex index = 0; index < size; ++index) { + static char buffer[16]; +#if defined(_MSC_VER) && defined(__STDC_SECURE_LIB__) + sprintf_s(buffer, sizeof(buffer), "[%d]", index); +#else + snprintf(buffer, sizeof(buffer), "[%d]", index); +#endif + printValueTree(fout, value[index], path + buffer); + } + } break; + case Json::objectValue: { + fprintf(fout, "%s={}\n", path.c_str()); + Json::Value::Members members(value.getMemberNames()); + std::sort(members.begin(), members.end()); + JSONCPP_STRING suffix = *(path.end() - 1) == '.' ? "" : "."; + for (Json::Value::Members::iterator it = members.begin(); + it != members.end(); + ++it) { + const JSONCPP_STRING name = *it; + printValueTree(fout, value[name], path + suffix + name); + } + } break; + default: + break; + } + + if (value.hasComment(Json::commentAfter)) { + fprintf(fout, "%s\n", value.getComment(Json::commentAfter).c_str()); + } +} + +static int parseAndSaveValueTree(const JSONCPP_STRING& input, + const JSONCPP_STRING& actual, + const JSONCPP_STRING& kind, + const Json::Features& features, + bool parseOnly, + Json::Value* root) +{ + Json::Reader reader(features); + bool parsingSuccessful = reader.parse(input.data(), input.data() + input.size(), *root); + if (!parsingSuccessful) { + printf("Failed to parse %s file: \n%s\n", + kind.c_str(), + reader.getFormattedErrorMessages().c_str()); + return 1; + } + if (!parseOnly) { + FILE* factual = fopen(actual.c_str(), "wt"); + if (!factual) { + printf("Failed to create %s actual file.\n", kind.c_str()); + return 2; + } + printValueTree(factual, *root); + fclose(factual); + } + return 0; +} +// static JSONCPP_STRING useFastWriter(Json::Value const& root) { +// Json::FastWriter writer; +// writer.enableYAMLCompatibility(); +// return writer.write(root); +// } +static JSONCPP_STRING useStyledWriter( + Json::Value const& root) +{ + Json::StyledWriter writer; + return writer.write(root); +} +static JSONCPP_STRING useStyledStreamWriter( + Json::Value const& root) +{ + Json::StyledStreamWriter writer; + JSONCPP_OSTRINGSTREAM sout; + writer.write(sout, root); + return sout.str(); +} +static JSONCPP_STRING useBuiltStyledStreamWriter( + Json::Value const& root) +{ + Json::StreamWriterBuilder builder; + return Json::writeString(builder, root); +} +static int rewriteValueTree( + const JSONCPP_STRING& rewritePath, + const Json::Value& root, + Options::writeFuncType write, + JSONCPP_STRING* rewrite) +{ + *rewrite = write(root); + FILE* fout = fopen(rewritePath.c_str(), "wt"); + if (!fout) { + printf("Failed to create rewrite file: %s\n", rewritePath.c_str()); + return 2; + } + fprintf(fout, "%s\n", rewrite->c_str()); + fclose(fout); + return 0; +} + +static JSONCPP_STRING removeSuffix(const JSONCPP_STRING& path, + const JSONCPP_STRING& extension) { + if (extension.length() >= path.length()) + return JSONCPP_STRING(""); + JSONCPP_STRING suffix = path.substr(path.length() - extension.length()); + if (suffix != extension) + return JSONCPP_STRING(""); + return path.substr(0, path.length() - extension.length()); +} + +static void printConfig() { +// Print the configuration used to compile JsonCpp +#if defined(JSON_NO_INT64) + printf("JSON_NO_INT64=1\n"); +#else + printf("JSON_NO_INT64=0\n"); +#endif +} + +static int printUsage(const char* argv[]) { + printf("Usage: %s [--strict] input-json-file", argv[0]); + return 3; +} + +static int parseCommandLine( + int argc, const char* argv[], Options* opts) +{ + opts->parseOnly = false; + opts->write = &useStyledWriter; + if (argc < 2) { + return printUsage(argv); + } + int index = 1; + if (JSONCPP_STRING(argv[index]) == "--json-checker") { + opts->features = Json::Features::strictMode(); + opts->parseOnly = true; + ++index; + } + if (JSONCPP_STRING(argv[index]) == "--json-config") { + printConfig(); + return 3; + } + if (JSONCPP_STRING(argv[index]) == "--json-writer") { + ++index; + JSONCPP_STRING const writerName(argv[index++]); + if (writerName == "StyledWriter") { + opts->write = &useStyledWriter; + } else if (writerName == "StyledStreamWriter") { + opts->write = &useStyledStreamWriter; + } else if (writerName == "BuiltStyledStreamWriter") { + opts->write = &useBuiltStyledStreamWriter; + } else { + printf("Unknown '--json-writer %s'\n", writerName.c_str()); + return 4; + } + } + if (index == argc || index + 1 < argc) { + return printUsage(argv); + } + opts->path = argv[index]; + return 0; +} +static int runTest(Options const& opts) +{ + int exitCode = 0; + + JSONCPP_STRING input = readInputTestFile(opts.path.c_str()); + if (input.empty()) { + printf("Failed to read input or empty input: %s\n", opts.path.c_str()); + return 3; + } + + JSONCPP_STRING basePath = removeSuffix(opts.path, ".json"); + if (!opts.parseOnly && basePath.empty()) { + printf("Bad input path. Path does not end with '.expected':\n%s\n", + opts.path.c_str()); + return 3; + } + + JSONCPP_STRING const actualPath = basePath + ".actual"; + JSONCPP_STRING const rewritePath = basePath + ".rewrite"; + JSONCPP_STRING const rewriteActualPath = basePath + ".actual-rewrite"; + + Json::Value root; + exitCode = parseAndSaveValueTree( + input, actualPath, "input", + opts.features, opts.parseOnly, &root); + if (exitCode || opts.parseOnly) { + return exitCode; + } + JSONCPP_STRING rewrite; + exitCode = rewriteValueTree(rewritePath, root, opts.write, &rewrite); + if (exitCode) { + return exitCode; + } + Json::Value rewriteRoot; + exitCode = parseAndSaveValueTree( + rewrite, rewriteActualPath, "rewrite", + opts.features, opts.parseOnly, &rewriteRoot); + if (exitCode) { + return exitCode; + } + return 0; +} +int main(int argc, const char* argv[]) { + Options opts; + try { + int exitCode = parseCommandLine(argc, argv, &opts); + if (exitCode != 0) { + printf("Failed to parse command-line."); + return exitCode; + } + return runTest(opts); + } + catch (const std::exception& e) { + printf("Unhandled exception:\n%s\n", e.what()); + return 1; + } +} http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/f3f8f531/thirdparty/jsoncpp/src/jsontestrunner/sconscript ---------------------------------------------------------------------- diff --git a/thirdparty/jsoncpp/src/jsontestrunner/sconscript b/thirdparty/jsoncpp/src/jsontestrunner/sconscript new file mode 100644 index 0000000..6e68e31 --- /dev/null +++ b/thirdparty/jsoncpp/src/jsontestrunner/sconscript @@ -0,0 +1,9 @@ +Import( 'env_testing buildJSONTests' ) + +buildJSONTests( env_testing, Split( """ + main.cpp + """ ), + 'jsontestrunner' ) + +# For 'check' to work, 'libs' must be built first. +env_testing.Depends('jsontestrunner', '#libs')
