Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
cb892f9
Update continuous.yml
jddcef Apr 2, 2025
e50a3b4
Update continuous.yml
jddcef Apr 2, 2025
ed5c4bc
Update continuous.yml
jddcef Apr 2, 2025
6ca19f8
Update continuous.yml
jddcef Apr 2, 2025
4d7bb51
Update continuous.yml
jddcef Apr 2, 2025
bff3f78
Update httrack submodule URL
jddcef Oct 30, 2025
ef13f2c
Upgrade target framework from net6.0 to net8.0
jddcef Oct 30, 2025
3da2bb6
Add caching and .NET 8 setup to CI workflow
jddcef Oct 30, 2025
664b421
Enhance _build.csproj with modern settings
jddcef Oct 30, 2025
4645f73
Update continuous.yml
jddcef Oct 31, 2025
89e74cf
Upgrade checkout action from v2 to v4
jddcef Nov 5, 2025
ecdafcf
Comment out .NET 8 runtime setup step
jddcef Nov 5, 2025
b35de3a
Update Nuke.Common package version to 7.0.6
jddcef Nov 5, 2025
7f4b202
Update relevantTargets type in OurGitHubActionsAttribute
jddcef Nov 5, 2025
82a1241
Refactor GetConfiguration and GetJobs method signatures
jddcef Nov 5, 2025
9cf76b4
Refactor GetConfiguration method in OurGitHubActionsAttribute
jddcef Nov 5, 2025
97b7a1e
Refactor OurGitHubActionsAttribute methods
jddcef Nov 5, 2025
8e98a32
Change return type of GetJobs method
jddcef Nov 5, 2025
2702cb9
Refactor LinMake calls for httrack installation
jddcef Nov 5, 2025
7c0d70a
refactor(build): Simplify LinMake calls and update GitHub Actions con…
jddcef Nov 6, 2025
fdaf034
refactor(build): Remove Serializable attribute from OurMSBuildSettings
jddcef Nov 6, 2025
79d18a4
chore(build): Enable BinaryFormatter for Nuke/GitVersion compatibility
jddcef Nov 6, 2025
9766d59
feat(build): Re-add Serializable attribute to OurMSBuildSettings
jddcef Nov 6, 2025
441cc96
Update continuous.yml restore x86 build enabled
jddcef Nov 7, 2025
117b32f
This option is the worst to be on by default, nothing works when it's…
jddcef Nov 7, 2025
dfd1f08
Merge branch 'master' of https://github.com/jddcef/httrack-windows
jddcef Nov 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 19 additions & 5 deletions .github/workflows/continuous.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@ on:
push:
branches-ignore:
- trash

workflow_dispatch: # This allows manual triggering of the workflow

jobs:
continuous:
name: Run
Expand All @@ -43,21 +44,34 @@ jobs:
NUKE_Configuration: ${{matrix.Configuration}}
NUKE_Arch: ${{matrix.Arch}}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
repository: mitchcapper/httrack-windows
# repository: mitchcapper/httrack-windows

- name: Cache .nuke/temp, ~/.nuget/packages
uses: actions/cache@v2
uses: actions/cache@v4
with:
path: |
.nuke/temp
~/.nuget/packages
key: ${{ runner.os }}-${{ hashFiles('**/global.json', '**/*.csproj') }}

# - name: Ensure .NET 8 runtime is available
# uses: actions/setup-dotnet@v3
# with:
# dotnet-version: '8.0.x'
# package-type: 'dotnet-version'

- name: Show installed .NET runtimes (debug)
run: dotnet --list-runtimes

- name: Run './build.cmd Pack'
run: ./build.cmd Pack
- uses: actions/upload-artifact@v1
- uses: actions/upload-artifact@v4
with:
name: httrack-${{matrix.BaseImage}}-${{matrix.Configuration}}-${{matrix.Arch}}
path: final


2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[submodule "httrack"]
path = httrack
url = https://github.com/mitchcapper/httrack.git
url = https://github.com/xroche/httrack.git
2 changes: 1 addition & 1 deletion WinHTTrack/OptionTab10.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ COptionTab10::COptionTab10() : CPropertyPage(COptionTab10::IDD)
m_proxy = _T("");
m_port = _T("");
m_ftpprox = FALSE;
m_sslproxy = TRUE;
m_sslproxy = FALSE;
//}}AFX_DATA_INIT
}

Expand Down
2 changes: 1 addition & 1 deletion build.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ $TempDirectory = "$PSScriptRoot\\.nuke\temp"

$DotNetGlobalFile = "$PSScriptRoot\\global.json"
$DotNetInstallUrl = "https://dot.net/v1/dotnet-install.ps1"
$DotNetChannel = "Current"
$DotNetChannel = "current"

$env:DOTNET_SKIP_FIRST_TIME_EXPERIENCE = 1
$env:DOTNET_CLI_TELEMETRY_OPTOUT = 1
Expand Down
9 changes: 5 additions & 4 deletions build/Build.cs
Original file line number Diff line number Diff line change
Expand Up @@ -163,9 +163,11 @@ private IReadOnlyCollection<Output> OurMSBuild(Func<MSBuildSettings, MSBuildSett
//if (GitHubActions.Instance.Job.Contains("latest") == false)
// forceFail = "CFLAGS=\" -D _WIN32\"";
LinConfigure($"--prefix=\"{OutputDirectory}\" {forceFail}", "httrack", logOutput: true, logInvocation: true);
LinMake("", "httrack", logOutput: true, logInvocation: true, customLogger: GCCLogHandler);
LinMake("install", "httrack", logOutput: true, logInvocation: true, customLogger: GCCLogHandler);

// replaces: LinMake("", "httrack", logOutput: true, logInvocation: true);
LinMake("", "httrack", logOutput: true, logInvocation: true);

// replaces: LinMake("install", "httrack", logOutput: true, logInvocation: true);
LinMake("install", "httrack", logOutput: true, logInvocation: true);



Expand Down Expand Up @@ -194,4 +196,3 @@ protected override void OnTargetFailed(string target) {

});
}

2 changes: 1 addition & 1 deletion build/NukePlusPlus/OurConfigurationEntity.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ public enum PRIORITY { Normal, First}
public ConfigurationEntity after { get; set; }

protected OurGithubActionsJobWithMatrix job { get; private set; }
protected NukeBuild build => attribute.build;
protected System.Type build => attribute.build;
protected OurGitHubActionsAttribute attribute { get; private set; }
WRITE_LEVEL IConfigurationEntityHasLevel.level => _level;

Expand Down
10 changes: 5 additions & 5 deletions build/NukePlusPlus/OurGitHubActionsAttribute.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,18 @@ namespace NukePlusPlus {
[PublicAPI]
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true)]
public class OurGitHubActionsAttribute : GitHubActionsAttribute {
public override ConfigurationEntity GetConfiguration(NukeBuild build, IReadOnlyCollection<ExecutableTarget> relevantTargets) {
this.build = build;
var orig = base.GetConfiguration(build, relevantTargets) as GitHubActionsConfiguration;
public override ConfigurationEntity GetConfiguration(IReadOnlyCollection<ExecutableTarget> relevantTargets) {
//this.build = build;
var orig = base.GetConfiguration(relevantTargets) as GitHubActionsConfiguration;
configuration.DetailedTriggers = orig.DetailedTriggers;
configuration.Jobs = orig.Jobs;
configuration.Name = orig.Name;
configuration.ShortTriggers = orig.ShortTriggers;
return configuration;
}
internal NukeBuild build;
internal Type build;
protected OurGitHubActionsConfiguration configuration=new();
public OurGitHubActionsAttribute(string name, params object[] vals) : base(name, GitHubActionsImage.MacOs1014) {
public OurGitHubActionsAttribute(string name, params object[] vals) : base(name, GitHubActionsImage.MacOs1015) {
job = new(this, configuration, vals.Cast<Enum>().ToArray());
ActionName = name;
}
Expand Down
7 changes: 6 additions & 1 deletion build/NukePlusPlus/OurGithubActionsJobWithMatrix.cs
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ public void PrepareForWrite() {
};
AllWriteItems.Insert(pos, newStep);
}
var oBuild = attribute.build as OurNukeBuild;
var oBuild = Activator.CreateInstance(attribute.build) as OurNukeBuild;
if (oBuild != null)
oBuild.DoWritingAdds(this);

Expand Down Expand Up @@ -117,15 +117,20 @@ void AddItemSorted(ConfigurationEntity entity) {

}
private void Configuration_OnGlobalWriteBegin(object sender, CustomFileWriter writer) {
Console.WriteLine("OurGithubActionsJobWithMatrix.Configuration_OnGlobalWriteBegin: entering");
AddNewItem<GithubMatrixOptionWriter>(matrixWriter => {
matrixWriter.InitialRange = MatrixOptions;
this.matrixWriter = matrixWriter;
}
);
Console.WriteLine("OurGithubActionsJobWithMatrix.Configuration_OnGlobalWriteBegin: about to PrepareForWrite");
PrepareForWrite();
Console.WriteLine("OurGithubActionsJobWithMatrix.Configuration_OnGlobalWriteBegin: returned from PrepareForWrite");
var global = AllWriteItems.Where(a => (a as IConfigurationEntityHasLevel)?.level == BaseOurConfigurationEntity.WRITE_LEVEL.Global).ToArray();
Console.WriteLine($"OurGithubActionsJobWithMatrix.Configuration_OnGlobalWriteBegin: global items count = {global.Length}");
foreach(var itm in global) {
AllWriteItems.Remove(itm);
Console.WriteLine($"OurGithubActionsJobWithMatrix: writing global item of type {itm.GetType().FullName}");
itm.Write(writer);
}
}
Expand Down
21 changes: 14 additions & 7 deletions build/_build.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,31 @@

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<RootNamespace></RootNamespace>
<TargetFramework>net8.0</TargetFramework>
<!-- Remove or set RootNamespace if needed -->
<!--<RootNamespace>Your.Namespace</RootNamespace>-->
<NoWarn>CS0649;CS0169</NoWarn>
<NukeRootDirectory>..</NukeRootDirectory>
<NukeScriptDirectory>..</NukeScriptDirectory>
<NukeTelemetryVersion>0</NukeTelemetryVersion>

<!-- Recommended modern settings -->
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>

<!-- Temporarily enable BinaryFormatter for Nuke/GitVersion compatibility -->
<EnableUnsafeBinaryFormatterSerialization>true</EnableUnsafeBinaryFormatterSerialization>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Nuke.Common" Version="6.1.2" />
<PackageReference Include="Nuke.Common" Version="7.0.6" />
</ItemGroup>

<ItemGroup>
<PackageDownload Include="GitVersion.Tool" Version="[5.10.3]" />
</ItemGroup>


<ItemGroup>
<None Remove="..\.nuke\temp\**" />
<!-- use forward slashes for portability -->
<None Remove="../.nuke/temp/**" />
</ItemGroup>

</Project>