-
Notifications
You must be signed in to change notification settings - Fork 12
Update P4 C++ API and PerforcePlugin infrastructure #25
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
SRombautsU
wants to merge
20
commits into
master
Choose a base branch
from
update-p4api
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from a versioned P4Plugin/Source/r19.1/ to a generic P4Plugin/Source/p4api Build scripts where adjusted one last time with the new path This allow to update the API in places without making other changes and while make it trivial to keep the history of these files
They are not used by CI for the builds.zip artifacts (and not shipped with the Unity Editor)
e8621dd
to
c09e19e
Compare
d3614d4
to
0842e1a
Compare
from P4Plugin/Source/p4api/lib/xxx to P4Plugin/Source/openssl/lib/xxx Moreover, the libeay32.lib and ssleay32.lib for Win32 where duplicated for Win32Debug
Setup correctly for Perl scripts (tabs) and Yamato Yaml job (2 spaces)
Also convert spaces to tabs as per Makefile standard
Added a little backward changelog 1.0.x Initial versions from long ago 1.1.0 2022/02/10 Support TLSv1.2 in Perforce Plugin 1.2.0 2022/08/05 Added MFA login2 support 1.2.1 2024/03/15 Fix login failure license about to expire
No risk in getting rid of these (it's not even the plugin) and this makes the build log much cleaner
Before I start to make actual modifications
6559549
to
35203eb
Compare
38ac5d4
to
3cc647b
Compare
The issue is that the logs are piped using `tee` to create a clean log file See for instance: perl build.pl | tee linux_build.txt That's the wrong idea in the first place, the logs in Yamato have colors, are searchable etc. I initially provided a complex solution (Using Bash set -o pipefail to fail the whole pipeline if the first command file, and PowerShell $LASTEXITCODE to fail in case of an error) but I believe the simplicity here should be the key
Don't return on the first test failure in a suite, count the failures Don't exit 1 on the first PerforceIntegrationTests() failure, add the failures Count the number of tests passed, ignored/filtered ones Display progresse with prefixes for the test suite and the test in it: [5-7][2/13] Running test 'xxx.txt' [5-7] Success: 13 of 13 tests passed. Add extra empty lines for readability of the logs
…on Windows, but not on CI
dd28005
to
59d0d07
Compare
Remove Mercurial steps to download the PerforceBinaries hg clone --config extensions.largefiles= http://hg-mirror-slo.hq.unity3d.com/unity-extra/perforce PerforceBinaries Submit a copy of the p4 & p4d binaries downloaded alongside the static libraries from https://filehost.perforce.com/perforce/r19.1 This is the correct way to manage dependencies (especially if we want to have branches using different versions) allowing to update it more easily to match the version of the p4api It will allow us to update to any Bokken image that wouldn't have Mercurial "hg" installed
# linux64 - https://filehost.perforce.com/perforce/r21.2/bin.linux26x86_64/p4api-glibc2.3-openssl1.0.2.tgz # osx64 - https://filehost.perforce.com/perforce/r21.2/bin.macosx105x86_64/p4api-openssl1.0.2.tgz # Win32 - https://filehost.perforce.com/perforce/r21.2/bin.ntx86/p4api_vs2010_static_openssl1.0.2.zip - https://filehost.perforce.com/perforce/r21.2/bin.ntx86/p4api_vs2010_static_vsdebug_openssl1.0.2.zip Link with the new libp4api Keep everything else as-is for now: - Visual Studio 2010 - OpenSSL 1.0.1 static libs - GlibC 2.3 on Linux
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a Work In Progress to simplify, fix and document how the P4 C++ API are downloaded and linked into the PerforcePlugin
Perhaps the most notable change is that now the plugin has a version number, and log it and the P4 API:
From these more solid foundations, I'll want to update one thing without changing anything, and testing if it still works as expected, then moving to the next (stopping when it breaks or doesn't bring any more value):