mirror of
https://github.com/servo/servo
synced 2026-04-25 17:15:48 +02:00
In preparation for the next release, bump the version number to 0.1. 0.1 will be an LTS release, which receives extended support in terms of security updates (e.g. spidermonkey security updates). Please keep in mind that as always no specific guarantees or response times are given, and any updated are provided on a best effort basis. Previously some projects had a demo integration of servo based on some version of servo, and then never or rarely updated it. Providing an LTS release offers an option to embedders to integrate servo, while reducing API churn and having a somewhat fixed schedule to adhere to in terms of upgrades. Currently, the plan is for a new LTS release every 6 months, with additional documentation regarding API changes and recommended migration patterns (best-effort and subject to change). Testing: No functional changes. Additional testing will be performed post-merge on the newly created release branch. Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
134 lines
4.3 KiB
Mako
134 lines
4.3 KiB
Mako
<?xml version="1.0" encoding="utf-8"?>
|
|
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
|
<Product Id="*"
|
|
Name="Servo Tech Demo"
|
|
Manufacturer="The Servo Authors"
|
|
UpgradeCode="060cd15d-eab1-4614-b438-3988e3efdcf1"
|
|
Language="1033"
|
|
Codepage="1252"
|
|
Version="0.1.0">
|
|
<Package Id="*"
|
|
Keywords="Installer"
|
|
Description="Servo Tech Demo Installer"
|
|
Manufacturer="The Servo Authors"
|
|
InstallerVersion="200"
|
|
Platform="x64"
|
|
Languages="1033"
|
|
SummaryCodepage="1252"
|
|
Compressed="yes"/>
|
|
<MajorUpgrade AllowDowngrades="yes"/>
|
|
<Media Id="1"
|
|
Cabinet="Servo.cab"
|
|
EmbedCab="yes"/>
|
|
<Directory Id="TARGETDIR" Name="SourceDir">
|
|
<Directory Id="ProgramFiles64Folder" Name="PFiles">
|
|
<Directory Id="Servo" Name="Servo">
|
|
<Directory Id="INSTALLDIR" Name="Servo Tech Demo">
|
|
<Component Id="Servo"
|
|
Guid="95bcea71-78bb-4ec8-9766-44bc01443840"
|
|
Win64="yes">
|
|
<File Id="ServoEXE"
|
|
Name="servoshell.exe"
|
|
DiskId="1"
|
|
Source="${windowize(exe_path)}\servoshell.exe"
|
|
KeyPath="yes">
|
|
<Shortcut Id="StartMenuServoTechDemo"
|
|
Directory="ProgramMenuDir"
|
|
Name="Servo Tech Demo"
|
|
WorkingDirectory="INSTALLDIR"
|
|
Icon="servoshell.exe"
|
|
Advertise="yes"/>
|
|
</File>
|
|
${include_dependencies()}
|
|
</Component>
|
|
|
|
${include_directory(resources_path, "resources")}
|
|
</Directory>
|
|
</Directory>
|
|
</Directory>
|
|
|
|
<Directory Id="ProgramMenuFolder" Name="Programs">
|
|
<Directory Id="ProgramMenuDir" Name="Servo Tech Demo">
|
|
<Component Id="ProgramMenuDir" Guid="e04737ce-16eb-4977-9b4c-ed2db8a5a77d">
|
|
<RemoveFolder Id="ProgramMenuDir" On="both"/>
|
|
<RegistryValue Root="HKCU"
|
|
Key="Software\Servo\Servo Tech Demo"
|
|
Type="string"
|
|
Value=""
|
|
KeyPath="yes"/>
|
|
</Component>
|
|
</Directory>
|
|
</Directory>
|
|
</Directory>
|
|
|
|
<Feature Id="Complete" Level="1">
|
|
<ComponentRef Id="Servo"/>
|
|
% for c in components:
|
|
<ComponentRef Id="${c}"/>
|
|
% endfor
|
|
<ComponentRef Id="ProgramMenuDir"/>
|
|
</Feature>
|
|
|
|
<Icon Id="servoshell.exe" SourceFile="${windowize(exe_path)}\servoshell.exe"/>
|
|
</Product>
|
|
</Wix>
|
|
<%!
|
|
import os
|
|
import os.path as path
|
|
import re
|
|
import uuid
|
|
from servo.platform import host_triple
|
|
|
|
def make_id(s):
|
|
s = s.replace("-", "_").replace("/", "_").replace("\\", "_")
|
|
return "Id{}".format(s)
|
|
|
|
def listfiles(directory):
|
|
return [f for f in os.listdir(directory)
|
|
if path.isfile(path.join(directory, f))]
|
|
|
|
def listdirs(directory):
|
|
return [f for f in os.listdir(directory)
|
|
if path.isdir(path.join(directory, f))]
|
|
|
|
def listdeps(temp_dir):
|
|
return [path.join(temp_dir, f) for f in os.listdir(temp_dir) if os.path.isfile(path.join(temp_dir, f)) and f != "servoshell.exe"]
|
|
|
|
def windowize(p):
|
|
if not p.startswith("/"):
|
|
return p
|
|
return re.sub("^/([^/])+", "\\1:", p)
|
|
|
|
components = []
|
|
%>
|
|
|
|
<%def name="include_dependencies()">
|
|
% for f in listdeps(dir_to_temp):
|
|
<File Id="${make_id(path.basename(f)).replace(".","").replace("+","x")}"
|
|
Name="${path.basename(f)}"
|
|
Source="${f}"
|
|
DiskId="1"/>
|
|
% endfor
|
|
</%def>
|
|
|
|
<%def name="include_directory(d, n)">
|
|
<Directory Id="${make_id(path.basename(d))}" Name="${n}">
|
|
<Component Id="${make_id(path.basename(d))}"
|
|
Guid="${uuid.uuid4()}"
|
|
Win64="yes">
|
|
<CreateFolder/>
|
|
<% components.append(make_id(path.basename(d))) %>
|
|
% for f in listfiles(d):
|
|
<File Id="${make_id(path.join(d, f).replace(dir_to_temp, ""))}"
|
|
Name="${f}"
|
|
Source="${windowize(path.join(d, f))}"
|
|
DiskId="1"/>
|
|
% endfor
|
|
</Component>
|
|
|
|
% for f in listdirs(d):
|
|
${include_directory(path.join(d, f), f)}
|
|
% endfor
|
|
</Directory>
|
|
</%def>
|
|
|