Skip to content

Commit e38b457

Browse files
committed
Merge branch 'release/v1.0.20'
2 parents 21d2f8a + 258eabd commit e38b457

File tree

179 files changed

+7479
-6342
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

179 files changed

+7479
-6342
lines changed

.gitignore

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,7 @@ _ReSharper*/
4141
JetBrains.ReSharper.CommandLineTools
4242

4343
# CI and full build|deploy
44-
dist
45-
install/build
44+
built/
4645
*.os.xml
4746
/src/packages/DotNetZip.1.9.3/lib/net20
4847

@@ -60,3 +59,5 @@ src/DebugServer/node_modules/
6059
src/OpenCover
6160
TestResult.xml
6261
tests/component/Component.dll
62+
63+
src/oscript/Properties/launchSettings\.json

.travis.yml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
language: csharp
2-
os:
3-
- linux
4-
- osx
5-
6-
# OS-X поддерживать некому
7-
matrix:
8-
allow_failures:
9-
os: osx
10-
2+
sudo: required
3+
dotnet: 2.0.0
114
solution: src/1Script_Mono.sln
5+
install:
6+
- wget oscript.io/Downloads/latest/deb && sudo dpkg -i deb
7+
- sudo opm install oscript-config
8+
- sudo opm install logos
9+
- sudo opm install asserts
10+
- dotnet restore ${TRAVIS_SOLUTION} /p:Configuration=Release /p:Platform=x86
11+
- nuget restore ${TRAVIS_SOLUTION}
1212
script:
13-
- install/build.sh
14-
- echo "lib.system=${PWD}/oscript-library/src" > src/oscript/bin/Release/oscript.cfg
15-
- ./travis-runtests.sh src/oscript/bin/Release/
13+
- msbuild ${TRAVIS_SOLUTION} /p:Configuration="Release" /p:Platform="x86"
14+
- echo "lib.system=`oscript-config get lib.system`" > src/oscript/bin/x86/Release/net452/oscript.cfg
15+
- ./travis-runtests.sh src/oscript/bin/x86/Release/net452

Build.csproj

Lines changed: 198 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,198 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
<Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets" />
3+
4+
<PropertyGroup>
5+
<ReleaseNumber Condition="'$(ReleaseNumber)' == ''">20</ReleaseNumber>
6+
<BuildNumber Condition="'$(BUILD_NUMBER)' != ''">$(BUILD_NUMBER)</BuildNumber>
7+
<BuildNumber Condition="'$(BUILD_NUMBER)' == ''">0</BuildNumber>
8+
9+
<ArtifactsRoot>$(MSBuildProjectDirectory)/built</ArtifactsRoot>
10+
<Solution>$(MSBuildProjectDirectory)/src/1Script.sln</Solution>
11+
<Configuration>Release</Configuration>
12+
<Platform>x86</Platform>
13+
</PropertyGroup>
14+
15+
<Target Name="CleanAll">
16+
17+
<ItemGroup>
18+
<TestsResults Include="$(MSBuildProjectDirectory)/tests/*.os.xml" />
19+
</ItemGroup>
20+
21+
<Delete Files="@(TestsResults)" />
22+
<DeleteTree Directories="$(ArtifactsRoot)" Condition="Exists($(ArtifactsRoot))" />
23+
24+
<MSBuild Projects="$(Solution)" Targets="Clean" Properties="ReleaseNumber=$(ReleaseNumber);Configuration=$(Configuration);Platform=$(Platform)"/>
25+
26+
</Target>
27+
28+
<Target Name="Make">
29+
<MSBuild Projects="$(Solution)" Targets="restore;Build" Properties="ReleaseNumber=$(ReleaseNumber);Configuration=$(Configuration);Platform=$(Platform)"/>
30+
</Target>
31+
32+
<Target Name="CreateDistributions" DependsOnTargets="CreateInstaller;CreateNuget;CreateZip">
33+
<ItemGroup>
34+
<TempContent Include="$(ArtifactsRoot)/tmp"/>
35+
<TempContent Include="$(MDDocFolder)"/>
36+
</ItemGroup>
37+
<DeleteTree Directories="@(TempContent)"/>
38+
</Target>
39+
40+
<Target Name="PrepareArtifactsRoot">
41+
<PropertyGroup>
42+
<TempFolder>$(ArtifactsRoot)/tmp</TempFolder>
43+
<BinFolder>$(TempFolder)/bin</BinFolder>
44+
<LibFolder>$(TempFolder)/lib</LibFolder>
45+
<ExamplesFolder>$(TempFolder)/examples</ExamplesFolder>
46+
<DocFolder>$(TempFolder)/doc</DocFolder>
47+
<DebugDest>$(ArtifactsRoot)\vscode\</DebugDest>
48+
<MDDocFolder>$(ArtifactsRoot)/mddoc</MDDocFolder>
49+
</PropertyGroup>
50+
<MakeDir Directories="$(ArtifactsRoot)" />
51+
<MakeDir Directories="$(TempFolder)" />
52+
</Target>
53+
54+
<Target Name="PrepareDistributionContent">
55+
56+
<CallTarget Targets="GatherBinaries" />
57+
<CallTarget Targets="GatherLibrary" />
58+
<CallTarget Targets="GatherExamples" />
59+
<CallTarget Targets="GatherDocuments" Condition=" '$(OneScriptDocumenter)' != '' "/>
60+
61+
</Target>
62+
63+
<!-- Собирает отовсюду содержимое папки bin -->
64+
<Target Name="GatherBinaries" DependsOnTargets="Make;PrepareArtifactsRoot">
65+
<MakeDir Directories="$(BinFolder)" />
66+
67+
<ItemGroup>
68+
<BuiltProjects Include="oscript" />
69+
<BuiltProjects Include="TestApp" />
70+
<BinaryFiles Include="$(MSBuildProjectDirectory)/src/%(BuiltProjects.Identity)/bin/x86/$(Configuration)/net452/**"/>
71+
<BinaryFiles Include="$(MSBuildProjectDirectory)/src/ASPNETHandler/bin/$(Configuration)/net452/ASPNETHandler.dll"/>
72+
</ItemGroup>
73+
74+
<Copy SourceFiles="@(BinaryFiles)" DestinationFolder="$(BinFolder)" />
75+
<!-- Копирование скрипта запуска для opm -->
76+
<Copy SourceFiles="$(MSBuildProjectDirectory)\install\opm.bat" DestinationFolder="$(BinFolder)"/>
77+
78+
<PropertyGroup>
79+
<DebugSrc>$(MSBuildProjectDirectory)/src/DebugServer/bin/$(Configuration)/net452</DebugSrc>
80+
</PropertyGroup>
81+
<ItemGroup>
82+
<DbgBinFiles Include="$(DebugSrc)/*.dll"/>
83+
<DbgBinFiles Include="$(DebugSrc)/*.exe"/>
84+
<DbgBinFiles Include="$(DebugSrc)/*.config"/>
85+
<DbgPackageFiles Include="$(DebugSrc)/README.md"/>
86+
<DbgPackageFiles Include="$(DebugSrc)/package.json"/>
87+
<DbgImageFiles Include="$(DebugSrc)/images/**"/>
88+
</ItemGroup>
89+
90+
<Copy SourceFiles="@(DbgBinFiles)" DestinationFolder="$(DebugDest)/bin"/>
91+
<Copy SourceFiles="@(DbgPackageFiles)" DestinationFolder="$(DebugDest)"/>
92+
<Copy SourceFiles="@(DbgImageFiles)" DestinationFolder="$(DebugDest)/images"/>
93+
94+
</Target>
95+
96+
<!-- Собирает в целевой папке содержимое папки lib -->
97+
<Target Name="GatherLibrary" DependsOnTargets="Make;PrepareArtifactsRoot">
98+
99+
<MakeDir Directories="$(LibFolder)" />
100+
<Exec Command="&quot;$(BinFolder)/oscript.exe&quot; &quot;$(MSBuildProjectDirectory)\install\unicode-zipper.os&quot; unpack &quot;$(MSBuildProjectDirectory)\install\opm-0.13.0.ospx&quot; &quot;$(LibFolder)\tmp&quot;"/>
101+
<Exec Command="&quot;$(BinFolder)/oscript.exe&quot; &quot;$(MSBuildProjectDirectory)\install\unicode-zipper.os&quot; unpack &quot;$(LibFolder)\tmp\content.zip&quot; &quot;$(LibFolder)/opm&quot;"/>
102+
<Copy SourceFiles="$(MSBuildProjectDirectory)\install\package-loader.os" DestinationFolder="$(LibFolder)"/>
103+
<DeleteTree Directories="$(LibFolder)\tmp"/>
104+
105+
<CallTarget Targets="InstallStdLib" Condition="'$(StandardLibraryPacks)' != ''"/>
106+
107+
</Target>
108+
109+
<!-- Копирует поставляемые файлы stdlib, если они есть на машине сборки -->
110+
<Target Name="InstallStdLib">
111+
<ItemGroup>
112+
<LibraryFiles Include="$(StandardLibraryPacks)\**\*" />
113+
</ItemGroup>
114+
<Copy SourceFiles="@(LibraryFiles)" DestinationFolder="$(LibFolder)\%(RecursiveDir)"/>
115+
</Target>
116+
117+
<!-- Собирает в целевой папке содержимое папки examples -->
118+
<Target Name="GatherExamples" DependsOnTargets="PrepareArtifactsRoot">
119+
<ItemGroup>
120+
<ExampleFiles Include="$(MSBuildProjectDirectory)\install\examples\**\*"/>
121+
</ItemGroup>
122+
<MakeDir Directories="$(ExamplesFolder)" />
123+
<Copy SourceFiles="@(ExampleFiles)" DestinationFolder="$(ExamplesFolder)\%(RecursiveDir)"/>
124+
</Target>
125+
126+
<!-- Собирает в целевой папке содержимое папки doc -->
127+
<Target Name="GatherDocuments" DependsOnTargets="PrepareArtifactsRoot;GenerateDocs">
128+
<MakeDir Directories="$(DocFolder)"/>
129+
<Exec Command="$(OneScriptDocumenter) html $(TMP)\tempdoc.xml &quot;$(DocFolder)&quot;"/>
130+
</Target>
131+
132+
<!-- Генерирует необходимую документацию -->
133+
<Target Name="GenerateDocs">
134+
135+
<Exec Command="$(OneScriptDocumenter) $(TMP)\tempdoc.xml &quot;$(BinFolder)\ScriptEngine.dll&quot; &quot;$(BinFolder)\ScriptEngine.HostedScript.dll&quot; &quot;$(BinFolder)\oscript.exe&quot;"/>
136+
<MakeDir Directories="$(MDDocFolder)"/>
137+
<Exec Command="$(OneScriptDocumenter) markdown $(TMP)\tempdoc.xml &quot;$(MDDocFolder)&quot; /syntax/page"/>
138+
139+
</Target>
140+
141+
<!-- Чистка промежуточных файлов -->
142+
<Target Name="CleanIntermediates" AfterTargets="PrepareDistributionContent">
143+
<ItemGroup>
144+
<ExcludedArtifacts Include="$(BinFolder)/*.pdb" />
145+
<ExcludedArtifacts Include="$(BinFolder)/*.xml" />
146+
<!-- остается от документера. Надо починить его чтобы писал куда-то в другое место -->
147+
<ExcludedArtifacts Include="$(MSBuildProjectDirectory)/map.json"/>
148+
</ItemGroup>
149+
<Delete Files="@(ExcludedArtifacts)"/>
150+
</Target>
151+
152+
<!-- Инсталлятор -->
153+
<Target Name="CreateInstaller" DependsOnTargets="PrepareArtifactsRoot">
154+
<Error Text="No installer path is specified" Condition="'$(InnoSetupPath)' == ''"/>
155+
<PropertyGroup>
156+
<InstallerStandardPath>"$(InnoSetupPath)\iscc.exe"</InstallerStandardPath>
157+
<DistPath>$(ArtifactsRoot)</DistPath>
158+
</PropertyGroup>
159+
<Exec Command="$(InstallerStandardPath) &quot;$(MSBuildProjectDirectory)\install\install.iss&quot; /o&quot;$(DistPath)&quot;" />
160+
</Target>
161+
162+
<!-- Nuget -->
163+
<Target Name="CreateNuget" DependsOnTargets="PrepareArtifactsRoot">
164+
<ItemGroup>
165+
<NugetAbleProject Include="ScriptEngine"/>
166+
<NugetAbleProject Include="ScriptEngine.HostedScript"/>
167+
</ItemGroup>
168+
169+
<MSBuild Projects="src/%(NugetAbleProject.Identity)/%(NugetAbleProject.Identity).csproj" Targets="pack" Properties="PackageOutputPath=$(ArtifactsRoot);ReleaseNumber=$(ReleaseNumber)"/>
170+
171+
</Target>
172+
173+
<!-- ZIP -->
174+
<Target Name="CreateZip" DependsOnTargets="PrepareArtifactsRoot">
175+
<Exec Command="&quot;$(BinFolder)\oscript.exe&quot; &quot;$(MSBuildProjectDirectory)\install\unicode-zipper.os&quot; pack &quot;$(TempFolder)/*&quot; &quot;$(ArtifactsRoot)/OneScript-1.0.$(ReleaseNumber).zip&quot;"/>
176+
<Exec Command="&quot;$(BinFolder)\oscript.exe&quot; &quot;$(MSBuildProjectDirectory)\install\unicode-zipper.os&quot; pack &quot;$(MDDocFolder)/*&quot; &quot;$(ArtifactsRoot)/mddoc-1.0.$(ReleaseNumber).zip&quot;"/>
177+
</Target>
178+
179+
<!-- MSI -->
180+
<Target Name="CreateMSI">
181+
<MSBuild Projects="$(MSBuildProjectDirectory)\src\Installer\Installer.wixproj"
182+
Properties="Configuration=$(Configuration);OutputPath=$(ArtifactsRoot);OutputPathForBuild=$(ArtifactsRoot);Version=$1.0.$(ReleaseNumber).$(BuildNumber)" />
183+
</Target>
184+
185+
186+
<Target Name="xUnitTest" DependsOnTargets="PrepareArtifactsRoot">
187+
188+
<CreateItem Include="$(MSBuildProjectDirectory)\tests\*.os.xml">
189+
<Output TaskParameter="Include" ItemName="RemoveXMLTestResult" />
190+
</CreateItem>
191+
192+
<Delete Files="@(RemoveXMLTestResult)" />
193+
194+
<Exec WorkingDirectory="$(MSBuildProjectDirectory)\tests" Command="&quot;$(BinFolder)/oscript.exe&quot; &quot;$(MSBuildProjectDirectory)\tests\testrunner.os&quot; -runall . xddReportPath ." IgnoreExitCode="true"/>
195+
196+
</Target>
197+
198+
</Project>

0 commit comments

Comments
 (0)