Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
c3c5d58
Rename the P4 C++ API folder to simplify updates
SRombautsU Jul 23, 2025
05d0e77
Remove the lib/linux32 and lib/osx32
SRombautsU Jul 23, 2025
537ed3b
Fix .gitignore to not ignore static libraries needed for the p4api
SRombautsU Jul 23, 2025
9f98169
Initialize Git LFS for static libraries
SRombautsU Jul 25, 2025
cf781c6
Document the links from where the static libraries where downloaded
SRombautsU Jul 23, 2025
1c6cbcd
Move OpenSSL 1.0.1 static libraries
SRombautsU Jul 23, 2025
2a0329d
Add an .editorconfig
SRombautsU Jul 23, 2025
54fe0b7
Fix P4Plugin Visual Studio project, adding missing source code files
SRombautsU Jul 22, 2025
af58323
Sort Makefile.srcs code files by alphabetical order
SRombautsU Jul 23, 2025
69acfdd
Add a P4PluginVersion.h and Log version "1.2.1"
SRombautsU Jul 23, 2025
5e9597a
Fix the 2 warnings in Windows builds of the TestServer
SRombautsU Jul 25, 2025
7b42532
Cleanup indentation for .yamato jobs
SRombautsU Jul 23, 2025
9a1a0a1
Fix Yamato job zipVCSPlugins double triggers on PRs
SRombautsU Jul 24, 2025
aefb2be
Fix Yamato jobs to fail in case of a build or test error!
SRombautsU Jul 24, 2025
7340eaf
PerforceTests: Don't stop test on the first error
SRombautsU Jul 24, 2025
8f6ba1e
Disable "Perforce/MultiFactorAuthentication" that only works locally …
SRombautsU Jul 25, 2025
0ec0548
Remove platform linux32 from build.pl
SRombautsU Jul 25, 2025
dfa7c0b
Move FLAGS from BuildLinux() to Makefile.gnu
SRombautsU Jul 25, 2025
2282a68
Add the PerforceBinaries to the repo
SRombautsU Jul 24, 2025
b5c12d8
Update p4api-2019.1.2135798 to p4api-2021.2.2536545
SRombautsU Jul 23, 2025
6d06e0f
Update plugin version to 1.3.0
SRombautsU Jul 29, 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
17 changes: 17 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
[*]
charset=utf-8
end_of_line=lf
trim_trailing_whitespace=true
insert_final_newline=true
indent_style=space
indent_size=4

[{*.json,*.yml}]
indent_size=2

[{*.vcxproj}]
end_of_line=crlf
indent_size=2

[{*.pl,*.pm,Makefile.*}]
indent_style=tab
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
*.lib filter=lfs diff=lfs merge=lfs -text
*.a filter=lfs diff=lfs merge=lfs -text
PerforceBinaries/**/p4* filter=lfs diff=lfs merge=lfs -text
110 changes: 39 additions & 71 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,71 +1,39 @@
# Specific
Build/
PerforceBinaries/
Library/
*.BASE.*.cpp
*.LOCAL.*.cpp
*.BACKUP.*.cpp
*.REMOTE.*.cpp
*.orig
Test/tmp/*
PerforcePlugin
SubversionPlugin

# Compiled Object files
*.slo
*.lo
*.o
*.obj

# Precompiled Headers
*.gch
*.pch
*.ipch

# Compiled Dynamic libraries
*.so
*.dylib
*.dll

# Fortran module files
*.mod

# Compiled Static libraries
*.lai
*.la
*.a
*.lib

# Executables
*.exe
*.out
*.app

# Output folders
[Dd]ebug/
[Rr]elease/
[Bb]in/
[Oo]bj/

# Visual Studio 2010 local files
*.vcxproj.user
*.opensdf
*.sdf
*.suo

# Visual Studio 2015 local files
.vs/

# Test Ouput
TestResults/

# Sublime files
*.sublime-project
*.sublime-workspace
server.pid

# VI files
*.swp

# CLion files
.idea
# Specific
Build/
Library/
*.BASE.*.cpp
*.LOCAL.*.cpp
*.BACKUP.*.cpp
*.REMOTE.*.cpp
*.orig
Test/tmp/*
PerforcePlugin

# Output folders
[Dd]ebug/
[Rr]elease/
[Bb]in/
[Oo]bj/

# Visual Studio 2010 local files
*.vcxproj.user
*.opensdf
*.sdf
*.suo

# Visual Studio local files
.vs/

# Test Ouput
TestResults/

# Sublime files
*.sublime-project
*.sublime-workspace
server.pid

# VI files
*.swp

# JetBrains IDEs files
.idea/
28 changes: 15 additions & 13 deletions .yamato/linux-build.yml
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
name: Linux - Build & Test VCS plugins
agent:
type: Unity::VM
image: cds-ops/ubuntu-16.04-katana-agent
flavor: b1.large
type: Unity::VM
image: cds-ops/ubuntu-16.04-katana-agent
flavor: b1.large

commands:
- hg clone --config extensions.largefiles= http://hg-mirror-slo.hq.unity3d.com/unity-extra/perforce PerforceBinaries
- perl build.pl | tee linux_build.txt
- perl build.pl -test | tee linux_test.txt
# Build PerforcePlugin and TestServer
- perl build.pl

# Perforce CLI and server
- chmod +x PerforceBinaries/linux64/p4 PerforceBinaries/linux64/p4d

# Run Perforce integration tests with the TestServer
- perl build.pl -test

artifacts:
builds:
paths:
- "Build/linux64/PerforcePlugin"
logs:
paths:
- "linux_build.txt"
- "linux_test.txt"
builds:
paths:
- "Build/linux64/PerforcePlugin"
27 changes: 14 additions & 13 deletions .yamato/osx-build.yml
Original file line number Diff line number Diff line change
@@ -1,19 +1,20 @@
name: Mac - Build & Test VCS plugins
agent:
type: Unity::VM::osx
image: desktop/unity-macos-10.15-xcode-12.2:stable
flavor: b1.large
type: Unity::VM::osx
image: desktop/unity-macos-10.15-xcode-12.2:stable
flavor: b1.large

commands:
- hg clone --config extensions.largefiles= http://hg-mirror-slo.hq.unity3d.com/unity-extra/perforce PerforceBinaries
- perl build.pl | tee mac_build.txt
- perl build.pl -test | tee mac_test.txt
# Build PerforcePlugin and TestServer
- perl build.pl

# Perforce CLI and server
- chmod +x PerforceBinaries/OSX/p4 PerforceBinaries/OSX/p4d

# Run Perforce integration tests with the TestServer
- perl build.pl -test

artifacts:
builds:
paths:
- "Build/OSXx64/PerforcePlugin"
logs:
paths:
- "mac_build.txt"
- "mac_test.txt"
builds:
paths:
- "Build/OSXx64/PerforcePlugin"
31 changes: 14 additions & 17 deletions .yamato/windows-build.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,18 @@
name: Win - Build & Test VCS plugins
agent:
type: Unity::VM
image: core-kaunas/win10-vs2010:latest
flavor: b1.large

interpreter: powershell
type: Unity::VM
image: core-kaunas/win10-vs2010:latest
flavor: b1.large

commands:
- perl build.pl | tee win_build.txt
- hg clone --config extensions.largefiles= http://hg-mirror-slo.hq.unity3d.com/unity-extra/perforce PerforceBinaries
- perl build.pl -test | tee win_test.txt

# Build PerforcePlugin and TestServer
- perl build.pl

# Run Perforce integration tests with the TestServer
- perl build.pl -test

artifacts:
builds:
paths:
- "Build/Win32/PerforcePlugin.exe"
- "Build/Win32/PerforcePlugin.pdb"
logs:
paths:
- "win_build.txt"
- "win_test.txt"
builds:
paths:
- "Build/Win32/PerforcePlugin.exe"
- "Build/Win32/PerforcePlugin.pdb"
50 changes: 23 additions & 27 deletions .yamato/zipVCSPlugins.yml
Original file line number Diff line number Diff line change
@@ -1,35 +1,31 @@
name: Zip VCS plugins
agent:
type: Unity::VM
image: core-kaunas/win10-vs2010:latest
flavor: b1.small
type: Unity::VM
image: core-kaunas/win10-vs2010:latest
flavor: b1.small

interpreter: powershell
interpreter: powershell
commands:
- mkdir linux64
- mkdir OSXx64
- mkdir Win32
- Copy-Item Build/linux64/* linux64 -Recurse
- Copy-Item Build/OSXx64/* OSXx64 -Recurse
- Copy-Item Build/Win32/* Win32 -Recurse
- mkdir linux64
- mkdir OSXx64
- mkdir Win32
- Copy-Item Build/linux64/* linux64 -Recurse
- Copy-Item Build/OSXx64/* OSXx64 -Recurse
- Copy-Item Build/Win32/* Win32 -Recurse

artifacts:
builds:
paths:
- "linux64/**"
- "OSXx64/**"
- "Win32/**"
builds:
paths:
- "linux64/**"
- "OSXx64/**"
- "Win32/**"

dependencies:
- .yamato/windows-build.yml
- .yamato/linux-build.yml
- .yamato/osx-build.yml
- .yamato/windows-build.yml
- .yamato/linux-build.yml
- .yamato/osx-build.yml

triggers:
branches:
only:
branches:
only:
- "/.*/"
pull_requests:
- sources:
only:
- "/.*/"
12 changes: 7 additions & 5 deletions Makefile.gnu
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,11 @@ AR = ar
GTK3_INCLUDE = -I/usr/include/gtk-3.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/atk-1.0 -I/usr/include/harfbuzz
GTK3_LIBRARIES = -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0

CXXFLAGS += -O2 -g -fpermissive -Wno-deprecated-declarations $(GTK3_INCLUDE) $(P4PLUGIN_INCLUDE)
LDFLAGS += -g
LIBRARIES = -lstdc++ -lrt $(GTK3_LIBRARIES)
CFLAGS += -O3 -g -fPIC -fexceptions -fvisibility=hidden -DLINUX
CXXFLAGS += $(CFLAGS) -fpermissive -Wno-deprecated-declarations $(GTK3_INCLUDE) $(P4PLUGIN_INCLUDE)
LDFLAGS += -g -pthread
LIBRARIES += -lstdc++ -lrt $(GTK3_LIBRARIES)
PLATFORM = linux64

COMMON_MODULES = $(COMMON_SRCS:.c=.o)
COMMON_MODULES := $(COMMON_MODULES:.cpp=.o)
Expand All @@ -21,7 +23,7 @@ TESTSERVER_TARGET= Build/$(PLATFORM)/TestServer
P4PLUGIN_MODULES = $(P4PLUGIN_SRCS:.c=.o)
P4PLUGIN_MODULES := $(P4PLUGIN_MODULES:.cpp=.o)
P4PLUGIN_TARGET = PerforcePlugin
P4PLUGIN_LINK += $(LIBRARIES) -ldl -fPIC -no-pie
P4PLUGIN_LINK += $(LIBRARIES) -ldl -no-pie

default: all

Expand Down Expand Up @@ -49,7 +51,7 @@ $(TESTSERVER_TARGET): $(COMMON_MODULES) $(TESTSERVER_MODULES)
$(CXX) -g $(LDFLAGS) -o $@ $^

$(P4PLUGIN_TARGET): $(COMMON_MODULES) $(P4PLUGIN_MODULES)
$(CXX) $(LDFLAGS) -o $@ $^ $(P4PLUGIN_LINK) -L./P4Plugin/Source/r19.1/lib/$(PLATFORM)
$(CXX) $(LDFLAGS) -o $@ $^ $(P4PLUGIN_LINK) -L./P4Plugin/Source/p4api/lib/$(PLATFORM) -L./P4Plugin/Source/openssl/lib/$(PLATFORM)

clean:
rm -f Build/*.* $(COMMON_MODULES) $(P4PLUGIN_MODULES) $(TESTSERVER_MODULES)
2 changes: 1 addition & 1 deletion Makefile.osx
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ $(TESTSERVER_TARGET): $(COMMON_MODULES) $(TESTSERVER_MODULES)
$(CXX) -g $(LDFLAGS) -o $@ $^

$(P4PLUGIN_TARGET): $(COMMON_MODULES) $(P4PLUGIN_MODULES)
$(CXX) $(LDFLAGS) -o $@ -framework Cocoa $^ -L./P4Plugin/Source/r19.1/lib/osx64 $(P4PLUGIN_LINK)
$(CXX) $(LDFLAGS) -o $@ -framework Cocoa -framework Security $^ -L./P4Plugin/Source/p4api/lib/osx64 -L./P4Plugin/Source/openssl/lib/osx64 $(P4PLUGIN_LINK)

clean:
rm -f Build/*.* $(COMMON_MODULES) $(P4PLUGIN_MODULES) $(TESTSERVER_MODULES)
Loading