Skip to content

Commit 976ef21

Browse files
v29.2.4
1 parent c920867 commit 976ef21

File tree

2,319 files changed

+217653
-1
lines changed

Some content is hidden

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

2,319 files changed

+217653
-1
lines changed

.github/PULL_REQUEST_TEMPLATE/Bug.md

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
### Bug Description ###
2+
3+
Clearly and concisely describe the problem or feature (this cannot be empty).
4+
5+
### Root Cause ###
6+
7+
Briefly describe the root cause and analysis of the problem.
8+
If there is an internal discussion on the forum, provide the link.
9+
10+
### Reason for not identifying earlier ###
11+
12+
Find how it was missed in our earlier testing and development by analysing the below checklist. This will help prevent similar mistakes in the future.
13+
14+
**Guidelines/documents are not followed**
15+
16+
Common guidelines / Core team guideline
17+
Specification document
18+
Requirement document
19+
20+
**Guidelines/documents are not given**
21+
22+
Common guidelines / Core team guideline
23+
Specification document
24+
Requirement document
25+
26+
**Reason:**
27+
Mention any one or more reasons from the above points.
28+
29+
**Action taken:**
30+
What action did you take to avoid this in future?
31+
32+
**Related areas:**
33+
Is there any other related areas also to be addressed?
34+
35+
### Is Breaking issue? ###
36+
37+
If it is a breaking issue, provide the commit detail which caused this break.
38+
39+
### Solution description ###
40+
41+
Describe your code changes in detail for reviewers.
42+
43+
### Output screenshots ###
44+
45+
Post the output screenshots if an UI is affected or added due to this bug.
46+
47+
**Before changes:**
48+
Add the image which was taken before making these changes. Place a cursor here and click "Attach a file" button and upload the image.
49+
50+
**After changes:**
51+
Add the image which was taken after making these changes. Place a cursor here and click "Attach a file" button and upload the image.
52+
53+
### Areas affected and ensured ###
54+
55+
List out the areas are affected by your code changes.
56+
Is there any existing behavior change of other features due to this code change?
57+
58+
### Does it have any known issues?
59+
60+
If this fix contains any known issues, provide the proper details about the issues.
61+
62+
### Does it have memory leak?
63+
64+
Ensure the fix contains memory leak or not (if applicable).
65+
66+
### MR CheckList ###
67+
68+
- [ ] Does it follow the design [guidelines](https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/)? It is mandatory that, we should not move the changes without reading this.
69+
- [ ] Did UI automation passed without errors? If it is customer issue, make sure it is included in the IR automation.
70+
- [ ] Properly working in Xamarin.Forms [previewer](https://docs.microsoft.com/en-us/xamarin/xamarin-forms/xaml/xaml-previewer?tabs=vswin).
71+
- [ ] Ensured in iOS, Android, UWP and macOS (if supported).
72+
- [ ] Have you ensured the changes in Android API 19 and iOS 9?
73+
- [ ] Did you record this case in the unit test or UI test?
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
### Description ###
2+
3+
Clearly and concisely describe the changes your are committing in samples. (this cannot be empty).
4+
5+
### Output screenshots ###
6+
7+
Post the output screenshots if an UI is affected or added due to this change.
8+
9+
**Before changes:**
10+
Add the image which was taken before making these changes. Place a cursor here and click "Attach a file" button and upload the image.
11+
12+
**After changes:**
13+
Add the image which was taken after making these changes. Place a cursor here and click "Attach a file" button and upload the image.
14+
15+
### Does it have memory leak? [how to clear memory leak](https://syncfusion.atlassian.net/wiki/spaces/XAML/pages/2084675529/How+to+clear+memory+leak+in+sample)
16+
17+
Ensure the changes contains memory leak or not (if applicable).
18+
19+
### MR CheckList ###
20+
21+
* [ ] Demos are added as per [guideline](https://syncfusion.atlassian.net/wiki/spaces/XAML/pages/1986855767/How+to+add+demos+to+project)
22+
* [ ] Ensured files and images refered in SB as per [guideline](https://syncfusion.atlassian.net/wiki/spaces/XAML/pages/1987216663/How+to+refer+files+Images+in+SB)
23+
* [ ] Sample is ordered as per [guideline](https://syncfusion.atlassian.net/wiki/spaces/XAML/pages/2049313463/How+to+order+feature+list+and+demos)
24+
* [ ] Descriptions of the control and sample are reviewed by content team.
25+
* [ ] Example codes are provided as per [guideline](https://syncfusion.atlassian.net/wiki/spaces/XAML/pages/1987085412/Example)
26+
* [ ] Options are used as per [guideline](https://syncfusion.atlassian.net/wiki/spaces/XAML/pages/1995964937/Options)
27+
* [ ] `.csproj` files changes included in `_lib` project also.
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
### Feature description ###
2+
3+
Clearly and concisely describe the problem or feature (this cannot be empty).
4+
5+
### Analysis and design ###
6+
7+
If there is an external design, link to its project documentation area.
8+
If there is an internal discussion on the forum, provide the link.
9+
10+
### Solution description ###
11+
12+
Describe your code changes in detail for reviewers.
13+
14+
### Output screenshots ###
15+
16+
Post the output screenshots if an UI is affected or added due to this feature.
17+
18+
### Areas affected and ensured ###
19+
20+
List the areas are affected by your code changes.
21+
22+
### API Changes ###
23+
24+
List all API changes here (or just put None), example:
25+
26+
Added:
27+
- string ListView.GroupName { get; set; } //Bindable Property
28+
- int ListView.GroupId { get; set; } // Bindable Property
29+
- void ListView.Clear ();
30+
31+
Changed:
32+
- object ListView.SelectedItem => Cell ListView.SelectedItem
33+
34+
### Behavioral Changes ###
35+
36+
Describe any non-bug related behavioral changes that may change how users app behaves when upgrading to this version of the codebase.
37+
38+
### Test cases ###
39+
40+
Provide the unit testing written file details to understand the use cases considered in this implementation.
41+
If there is no TDD (if it’s not possible to follow), provide the UI automation script location and the Excel file that contains the use cases considered in this implementation.
42+
Provide the test cases Excel file alone if the feature cannot be automated in any case.
43+
44+
List out all the scenarios you have tested after include these changes. You can refer the predefined scenarios from below link.
45+
46+
https://syncfusion.atlassian.net/wiki/display/CHARTXAMARIN/Chart+Test+Plan
47+
48+
### Testbed sample location ###
49+
50+
Provide the test bed sample location where code reviewers can review the new feature’s behaviors. This depends on the CI process that your team follows. It can be from NPMCI, HockeyApp, staging site, local server, etc.
51+
52+
### Does it have any known issues?
53+
54+
If this feature contains any known issues, provide the proper details about the issues.
55+
56+
### Does it have memory leak?
57+
58+
Ensure the feature contains memory leak or not (if applicable).
59+
60+
### MR CheckList ###
61+
62+
- [ ] Does it follow the design [guidelines](https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/)? It is mandatory that, we should not move the changes without reading this.
63+
- [ ] Did UI automation passed without errors? If it is customer issue, make sure it is included in the IR automation.
64+
- [ ] Properly working in Xamarin.Forms [previewer](https://docs.microsoft.com/en-us/xamarin/xamarin-forms/xaml/xaml-previewer?tabs=vswin).
65+
- [ ] Ensured in iOS, Android, UWP and macOS (if supported).
66+
- [ ] Have you added API comments if it is new API?
67+
- [ ] Does it need localization? If so, update resx file in [GitHub](https://github.com/syncfusion/xamarin-localized-texts).
68+
- [ ] Whether we have added new APIs? If so, whether it is as per the [guidelines](https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/)?
69+
- [ ] If changes are made in the Xamarin.Forms sample browser project file, whether it is included in the props file too? If not, your sample level changes will not reflect in the application published in the hockey app.
70+
- [ ] Have you ensured the changes in Android API 19 and iOS 9?
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
### Description ###
2+
3+
Clearly and concisely describe the changes your are committing in samples. (this cannot be empty).
4+
5+
### Output screenshots ###
6+
7+
Post the output screenshots if an UI is affected or added due to this change.
8+
9+
**Before changes:**
10+
Add the image which was taken before making these changes. Place a cursor here and click "Attach a file" button and upload the image.
11+
12+
**After changes:**
13+
Add the image which was taken after making these changes. Place a cursor here and click "Attach a file" button and upload the image.
14+
15+
### Does it have memory leak? [how to clear memory leak](https://syncfusion.atlassian.net/wiki/spaces/XAML/pages/2084675529/How+to+clear+memory+leak+in+sample)
16+
17+
Ensure the changes contains memory leak or not (if applicable).
18+
19+
### MR CheckList ###
20+
21+
* [ ] Demos are added as per [guideline](https://syncfusion.atlassian.net/wiki/spaces/XAML/pages/1986855767/How+to+add+demos+to+project)
22+
* [ ] Ensured files and images refered in SB as per [guideline](https://syncfusion.atlassian.net/wiki/spaces/XAML/pages/1987216663/How+to+refer+files+Images+in+SB)
23+
* [ ] Sample is ordered as per [guideline](https://syncfusion.atlassian.net/wiki/spaces/XAML/pages/2049313463/How+to+order+feature+list+and+demos)
24+
* [ ] Descriptions of the control and sample are reviewed by content team.
25+
* [ ] Example codes are provided as per [guideline](https://syncfusion.atlassian.net/wiki/spaces/XAML/pages/1987085412/Example)
26+
* [ ] Options are used as per [guideline](https://syncfusion.atlassian.net/wiki/spaces/XAML/pages/1995964937/Options)
27+
* [ ] `.csproj` files changes included in `_lib` project also.

.gitignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
*/obj/
2+
*/bin/
3+
*/.vs/
4+
samplebrowser/AppPackages/
5+
*.user
6+
editor/syncfusion.editordemos.winui_net50 (Package)/
7+
calendar/syncfusion.calendardemos.winui_net50 (Package)/

Install.ps1

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
function waitUntillInstallation {
2+
Write-Host "Function has been called"
3+
4+
$installComplete = 0
5+
6+
while($installComplete -le 1)
7+
{
8+
Write-Host "Test"
9+
$msi = Get-Process msiexec -ErrorAction SilentlyContinue
10+
if ($msi) {
11+
Sleep(10)
12+
}
13+
else
14+
{
15+
$installComplete = 2
16+
}
17+
18+
}
19+
}
20+
21+
#Create Software folder for download
22+
New-Item -ItemType Directory -Force -Path C:/Software
23+
& { (New-Object System.Net.WebClient).DownloadFile('https://www.syncfusion.com/downloads/support/directtrac/general/ze/syncfusionpfx-546827946', 'C:/Software/syncfusionpfx-546827946.zip') }
24+
25+
#Extract zip file
26+
Add-Type -AssemblyName System.IO.Compression.FileSystem
27+
[System.IO.Compression.ZipFile]::ExtractToDirectory('C:/Software/syncfusionpfx-546827946.zip', 'C:\Software')
28+
29+
# Certificate installation
30+
Import-PfxCertificate -FilePath C:\Software\syncfusion.pfx -CertStoreLocation Cert:\CurrentUser\My -Password (ConvertTo-SecureString -String "Coolcomp299" -Force -AsPlainText)
31+
32+
waitUntillInstallation

Jenkinsfile

Lines changed: 153 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,153 @@
1+
node ('Maui')
2+
{
3+
timestamps
4+
{
5+
timeout(time: 7200000, unit: 'MILLISECONDS')
6+
{
7+
stage 'Checkout'
8+
try
9+
{
10+
checkout([$class: 'GitSCM', branches: [[name: '*/$githubSourceBranch']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'SB-winui']], submoduleCfg: [], userRemoteConfigs: [[credentialsId: env.githubCredentialId, url: 'https://github.com/essential-studio/samplebrowser-winui.git']]])
11+
12+
checkout([$class: 'GitSCM', branches: [[name: 'development']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'xaml-cake-plugin']], submoduleCfg: [], userRemoteConfigs: [[credentialsId: env.githubCredentialId, url: 'https://github.com/essential-studio/xaml-cake-plugin.git']]])
13+
}
14+
catch(Exception e)
15+
{
16+
echo "Exception in checkout stage \r\n"+e
17+
currentBuild.result = 'FAILURE'
18+
}
19+
if(currentBuild.result != 'FAILURE')
20+
{
21+
stage('Install Software') {
22+
try
23+
{
24+
nodejs(nodeJSInstallationName: 'nodejs-16.17.1') {
25+
bat 'npm config ls'
26+
}
27+
28+
env.PATH = "C:\\tools\\jenkins.plugins.nodejs.tools.NodeJSInstallation\\nodejs-16.17.1;${env.PATH}"
29+
bat 'npm -v'
30+
bat 'npm install --location=global appcenter-cli'
31+
32+
bat 'powershell.exe -ExecutionPolicy ByPass -File SB-winui/Install.ps1'
33+
echo "Software installation completed"
34+
}
35+
catch(Exception e)
36+
{
37+
echo "Exception in software installation stage \r\n"+e
38+
currentBuild.result = 'FAILURE'
39+
}
40+
}
41+
}
42+
if(currentBuild.result != 'FAILURE')
43+
{
44+
stage 'Build Source'
45+
try
46+
{
47+
gitlabCommitStatus("Build")
48+
{
49+
bat 'powershell.exe -ExecutionPolicy ByPass -File SB-winui/build/build.ps1 -Script '+env.WORKSPACE+"/SB-winui/build/build.cake -Target build -OutputPath Assemblies -StudioVersion "+env.studio_version+' -nugetserverurl '+env.nugetserverurls
50+
}
51+
def files = findFiles(glob: '**/cireports/errorlogs/*.txt')
52+
53+
if(files.size() > 0)
54+
{
55+
currentBuild.result = 'FAILURE'
56+
}
57+
}
58+
catch(Exception e)
59+
{
60+
echo "Exception in build source stage \r\n"+e
61+
currentBuild.result = 'FAILURE'
62+
}
63+
}
64+
65+
if(currentBuild.result != 'FAILURE')
66+
{
67+
stage 'Test'
68+
try
69+
{
70+
gitlabCommitStatus("Test")
71+
{
72+
bat 'powershell.exe -ExecutionPolicy ByPass -File SB-winui/build/build.ps1 -Script '+env.WORKSPACE+"/SB-winui/build/build.cake -Target test -nugetserverurl "+env.nugetserverurls
73+
}
74+
}
75+
catch(Exception e)
76+
{
77+
currentBuild.result = 'FAILURE'
78+
}
79+
}
80+
81+
82+
if(currentBuild.result != 'FAILURE')
83+
{
84+
stage 'Code violation'
85+
try
86+
{
87+
gitlabCommitStatus("Code violation")
88+
{
89+
bat 'powershell.exe -ExecutionPolicy ByPass -File SB-winui/build/build.ps1 -Script '+env.WORKSPACE+"/SB-winui/build/build.cake -Target codeviolation"
90+
}
91+
}
92+
catch(Exception e)
93+
{
94+
echo "Exception in code violation stage \r\n"+e
95+
currentBuild.result = 'FAILURE'
96+
}
97+
}
98+
99+
if(currentBuild.result != 'FAILURE' && env.publishBranch.contains(githubSourceBranch))
100+
{
101+
stage 'Publish'
102+
try
103+
{
104+
//method to get release notes content
105+
env.PATH = "C:\\Program Files\\Git\\mingw64\\bin;${env.PATH}"
106+
def branchCommit = '"'+'https://api.github.com/repos/essential-studio/SB-winui/pulls/'+env.pullRequestId+'/commits'
107+
String branchCommitDetails = bat returnStdout: true, script: 'curl -H "Accept: application/vnd.github.v3+json" -u SyncfusionBuild:' +env.GithubBuildAutomation_PrivateToken+" "+branchCommit
108+
def splitCommitDetails=branchCommitDetails.split('\n')
109+
def splitMessageDetails = splitCommitDetails[2].split('"message":')
110+
def releaseNotesContent="";
111+
for(int k=1; k<splitMessageDetails.size();k++)
112+
{
113+
def commitDetails = splitMessageDetails[k].split('"author_email":')
114+
for(int j=1; j<commitDetails.size(); j++)
115+
{
116+
releaseNotesContent+=commitDetails[0].replace(',"author_name":',' - ').replace('\\n','').replace('",','"')+"\r\n";
117+
}
118+
}
119+
if (releaseNotesContent)
120+
{
121+
writeFile file: env.WORKSPACE+"/cireports/releasenotes/releasenotes.txt", text: releaseNotesContent
122+
}
123+
else
124+
{
125+
writeFile file: env.WORKSPACE+"/cireports/releasenotes/releasenotes.txt", text: "No commit details found for this job."
126+
}
127+
128+
gitlabCommitStatus("Publish")
129+
{
130+
bat 'powershell.exe -ExecutionPolicy ByPass -File SB-winui/build/build.ps1 -Script '+env.WORKSPACE+"/SB-winui/build/build.cake -Target publish -apiServerPort 8193 -apiSiteName samplebrowser-winui -StudioVersion "+env.studio_version+' -revisionNumber '+env.revisionNumber+' -nugetapikey '+env.nugetapikey+' -SourceBranch '+githubSourceBranch+' -XAMLAWSAccessID '+env.XAMLAWSAccessID+' -XAMLAWSAccessKey '+env.XAMLAWSAccessKey+' -apiServerIP '+env.apiServerIP+' -apiServerUserName '+env.apiServerUserName+' -apiServerPassword '+env.apiServerPassword+' -nugetserverurl '+env.nugetserverurls
131+
}
132+
}
133+
catch(Exception e)
134+
{
135+
echo "Exception in publish stage \r\n"+e
136+
currentBuild.result = 'FAILURE'
137+
}
138+
}
139+
stage 'Delete Workspace'
140+
141+
// Archiving artifacts when the folder was not empty
142+
143+
def files = findFiles(glob: '**/cireports/**/*.*')
144+
145+
if(files.size() > 0)
146+
{
147+
archiveArtifacts artifacts: 'cireports/', excludes: null
148+
}
149+
150+
step([$class: 'WsCleanup'])
151+
}
152+
}
153+
}

0 commit comments

Comments
 (0)