-
Notifications
You must be signed in to change notification settings - Fork 2.9k
[master][MNG-7129] Necessary changes to support maven caching #607
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
Closed
Closed
Changes from all commits
Commits
Show all changes
201 commits
Select commit
Hold shift + click to select a range
e289166
Bump version to 3.8.0-SNAPSHOT
michael-o 02bc2a6
Add versionlessMavenDist profile
michael-o a96fd11
[MNG-3220] fix doc: dependencyManagement import require scope import
hboutemy 09f77da
[MNG-7119] Upgrade Maven Wagon to 3.4.3
michael-o e5f6634
use Maven Resolver 1.6.2
hboutemy fa79cb2
[MNG-7116] add support for mirrorOf external:http:*
hboutemy 899465a
[MNG-7117] add support for blocked mirror
hboutemy 907d53a
[MNG-7118] block HTTP repositories by default
hboutemy 6aa1f4a
[maven-release-plugin] prepare release maven-3.8.0
rfscholte dad8a3e
[maven-release-plugin] prepare for next development iteration
rfscholte a469068
next version in branch 3.8.x is 3.8.1-SNAPSHOT
hboutemy d295dc3
[MNG-7128] keep blocked attribute from mirrors in artifact repositories
hboutemy 05c21c6
[maven-release-plugin] prepare release maven-3.8.1
rfscholte 5213f43
[maven-release-plugin] prepare for next development iteration
rfscholte fbec4e7
[MNG-7152] Upgrade Maven Resolver to 1.6.3
michael-o cfe0537
[MNG-7155] upgrade maven-source-plugin from 3.2.0 to 3.2.1
hboutemy d6c9614
[MNG-7117] update link to settings xsd for version 1.2.0
hboutemy 66a4381
[MNG-5868] No duplicate artifacts in attached artifacts
olamy 68e02c2
[MNG-6071] Normalize relative paths for working directory
slachiewicz 3645593
[MNG-6983] Plugin key can get out of sync with artifactId and groupId
2f144de
[MNG-6819] Fix NullPointerException in StringVisitorModelInterpolator
b5056e4
[MNG-6828] DependencyResolutionException breaks serialization
slachiewicz 863f919
[MNG-6842] ProjectBuilderTest uses Guava, but Guava is not defined in…
KroArtem 42c99b4
[MNG-6850] Prevent printing the EXEC_DIR when it's just a disk letter
rostidev 76d5f0d
[MNG-6843] Parallel build fails due to missing JAR artifacts in compi…
famod a9f337f
[MNG-6937] StringSearchModelInterpolatorTest fails on symlinked paths
michael-o ce27f0e
[MNG-6964] Maven version sorting is internally inconsistent.
dennisl b476b28
[MNG-7000] metadata.mdo contains invalid link to schema
michael-o d4ad077
[MNG-6816] Prefer System.lineSeparator() over system properties
KroArtem 3a465e1
[MNG-6837] Simplify detection of the MAVEN_HOME and make it fully qua…
rostidev 5a89973
[MNG-7170] Allow to associate pomFile/${basedir} with DefaultProjectB…
mickaelistria bfd7c49
[MNG-7179] Upgrade Jansi to 2.3.3
rfscholte 14ff5dd
[MNG-7177] Upgrade Maven Shared Utils to 3.3.4
michael-o 73f34c0
[MNG-7172] Remove expansion of Jansi native libraries
rfscholte 3925486
[MNG-7032] Evaluate --help and --version after configuring the loggin…
gnodet f98e632
[MNG-7080] Add a --color option to simplify color support
gnodet 484e502
[MNG-7127] fix MavenCliTest.testStyleColors test in JDK 16
cchacin d862fdd
[MNG-6993] Upgrade SLF4J to 1.7.30
slawekjaranowski 41efc13
[MNG-6886] upgrade plexus-cipher to 1.8 and update changed groupId (#…
olamy 6f5c3d5
[MNG-6872] - Found CVEs in your dependencies - plexus-utils (tests)
khmarbaise 01780c0
[MNG-6853] - Don't box primitives where it's not needed
rostidev a659ade
[MNG-6827] Replace deprecated StringUtils#defaultString() from Plexus…
KroArtem 8edac61
[MNG-7149] Introduce MAVEN_DEBUG_ADDRESS in mvnDebug scripts
Dufgui b5ee583
[MNG-6859] Build not reproducible when built from source release
michael-o 8f58b85
[MNG-7064] Use HTTPS for schema location in global settings.xml
michael-o 9189425
[MNG-6967] Improve the command line output from maven-artifact.
dennisl 40f1082
[MNG-6874] - Upgrade Maven Parent to 34
khmarbaise 4259ba8
[MNG-6884] - Cleanup POM File after version upgrade
khmarbaise 2a2392f
[MNG-6873] Align JUnit version to 4.13
kaifeng-h 9ae1d95
[MNG-6844] Use StandardCharsets and remove outdated @SuppressWarnings
KroArtem 8b693cc
Document hacks as such
michael-o 7358b08
Add new ignores
michael-o 7b355f7
[MNG-7180] Make --color option behave more like BSD/GNU grep's --colo…
michael-o 7a8acdd
[MNG-7181] Make --version support -q
michael-o 0635e92
[MNG-7184] document .mavenrc/mavenrc_pre.bat|cmd and MAVEN_SKIP_RC
hboutemy 842e7c8
[MNG-7186] Upgrade Guice to 4.2.2
michael-o a27b4ee
[MNG-6987] Reorder groupId before artifactId when writing an exclusio…
mbruggmann 5d6bb35
[MNG-6810] - Remove profiles in maven-model
khmarbaise 5060349
[MNG-6811] - Remove unnecessary filtering configuration
khmarbaise f32c3db
[MNG-6471] Parallel builder should use the module name as thread name
rmannibucau a3907fc
[MNG-6754] Set the same timestamp in multi module builds
michael-o 176b272
[MNG-7185] Describe explicit and recommended version for VersionRange…
breun 268f956
Use proper term: directory
michael-o 25df095
[MNG-7190] Load mavenrc from /usr/local/etc also in Bourne shell script
michael-o c395ca9
[MNG-7190] add /usr/local/etc/mavenrc to reference documentation
hboutemy b74199e
[MNG-7034] StackOverflowError thrown if a cycle exists in BOM imports
gnodet 22a8cfa
[MNG-6648] 'mavenrc_pre' script does not receive arguments like maven…
michael-o f32eb09
[MNG-7010] Omit "NB: JAVA_HOME should point to a JDK not a JRE"
michael-o 51f6d8b
[MNG-7196] Upgrade Jansi to 2.3.4
michael-o 7ecdb3c
[MNG-7198] Upgrade SLF4J to 1.7.32
michael-o ea98e05
[maven-release-plugin] prepare release maven-3.8.2
michael-o 865dcaa
[maven-release-plugin] prepare for next development iteration
michael-o 9adb3ae
Document Maven 3.8.1 and 3.8.2 releases
michael-o 4dc1159
Fix DOAP
michael-o 547dfdd
Improve license handling
michael-o 0c3fe07
[MNG-6818] - Upgrade plexus-utils 3.3.0
khmarbaise ccafe8b
[MNG-6841] update plexus-interpolation to 1.26
c76c9d9
[MNG-7246] Upgrade Plexus Cipher and Sec Dispatcher to 2.0
cstamas 383cabf
[MNG-7216] [Regression] Revert MNG-7170
michael-o e08834b
[MNG-7250] Upgrade Sisu Inject/Plexus to 0.3.5
cstamas 4e5b3d5
[MNG-7251] Fix threadLocalArtifactsHolder leaking into cloned project
famod 1ea42b0
[MNG-7219] [Regression] plexus-cipher missing from transitive depende…
michael-o 98a9d08
[MNG-7236] The DefaultPluginVersionResolver should cache results for …
gnodet 93f9e85
[MNG-7045] Drop CDI API from Maven
rmannibucau d1aa1e1
[MNG-7252] Fix warnings issued by dependency:analyze
michael-o 8c66edc
[MNG-7254] Expand Windows native libraries for Jansi due to JDK-81951…
michael-o ab54d17
[MNG-7253] Display relocation message defined in model
gastaldi 8882a9c
[MNG-7164] Add constructor MojoExecutionException(Throwable)
ggregory-rocket 0a6bbb8
[MNG-7235] Speed improvements when calculating the sorted project graph
gnodet ff8e977
[maven-release-plugin] prepare release maven-3.8.3
michael-o 21e597e
[maven-release-plugin] prepare for next development iteration
michael-o b6186e2
Remove swap file
michael-o fb5f3f5
[MNG-7270] Switch to shell alternative to "which"
jmtd 5c36bf5
[MNG-7312] Revert ThreadLocal approach from MNG-6843 and MNG-7251
michael-o c9a0366
Merge pull request #4 in ABFX/maven-forked from incremental-maven-3.6…
maximilian-novikov-db af3f957
fix typo
hboutemy 803a8c4
add missing license
hboutemy fb40c4b
Make sure forked mojo executions have a correct phase set
gnodet b467ea4
Avoid IllegalStateException when cache is not enabled
gnodet a6bead7
[MNG-7324] first step to use Modello for cache-domain
hboutemy 1ae6bd1
[MNG-7324] Complete modello switch
gnodet b6aab72
[MNG-7324] Use plurals in the schema, make sure it can read things
gnodet 7c0c617
[MNG-7324] Allow more minimal config
gnodet b145fd9
[MNG-7324] remove now unused JAXB dependencies
hboutemy 3794fd9
[MNG-7324] update documentation
hboutemy f51f914
[MNG-7324] split config/domain/diff/report to separate xml.* packages
hboutemy 2c11bbf
[MNG-7324] rename domain to buildinfo and diff to buildsdiff
hboutemy 0a6f1d3
[MNG-7321] Move caching in its own module
gnodet cf5566d
[MNG-7324] Use plural in lists, fix model
gnodet 063b4b1
[MNG-7321] Include the new module in the distribution, uses CDI for a…
gnodet 4694f6e
[MNG-7322] Use maven session / project properties instead of System.g…
gnodet 1716c48
[MNG-7321] Use a provided scope for maven-core
gnodet c2c9c92
[MNG-7325] Rename namespaces, add more test for XmlService
gnodet f1d0d76
[MNG-7328] Remove the `Type` suffix on the generated model classes
gnodet 0cfdda1
[MNG-7324] Update doc regarding model changes
gnodet 73d1274
[MNG-7328] Fix tests
gnodet 0eca9b6
[MNG-7324] Rename buildinfo -> build and buildsdiff -> diff
gnodet 3705c0d
Merge branch 'MNG-7129_Separate' into MNG-7129-master
gnodet b80d035
[MNG-7327] Avoid guava usage
gnodet 00322bf
[MNG-5577] Use JSR 330 constructor injection
gnodet 2463099
[MNG-7321] cleanup build
hboutemy fe34637
[MNG-7321] move documentation to maven-caching module
hboutemy 0061bfe
[MNG-7321] fix javadoc
hboutemy bbc8ed7
[MNG-7129] rename (Artifacts/Local)Repository to *CacheRepository
hboutemy eee28e2
[MNG-7129] fix typos
hboutemy 1723cfd
[MNG-7129] Changes in maven core required to support incremental mave…
6a20fd5
[MNG-7329] Upgrade maven-enforcer-plugin
gnodet 6057a33
[MNG-7331] Upgrade Jansi to 2.4.0
michael-o 1a1c16c
[MNG-7334] Make the cache singletons reusable across maven sessions
gnodet 7d05973
[MNG-7129] Remove references to unused LegacySupport, fix typo
gnodet fdab508
[MNG-7336] Define a Feature for caching
gnodet a057014
[MNG-7129] fix compilation
gnodet 3d4fba3
[MNG-7129] More complete fix for missing lifecycle phases, avoid warn…
gnodet 3786a38
[MNG-7337] Remove usage of plexus logger
gnodet d6aa918
Merge remote-tracking branch 'origin/master' into MNG-7129-master
gnodet 3a42b61
[MNG-7129] Use @SessionScoped annotation
gnodet 8af9220
Fix wrong usage of `project.getAttachedArtifacts().clear()`
gnodet 219b4aa
[MNG-7337] Fix broken integration tests due to early logging
gnodet 5d80e2e
[MNG-7129] Rely on the DefaultLifecycles instead of hard-coded list o…
gnodet c62e3fe
[MNG-7129] Fix lifecycles
gnodet a074408
Remove Utils and rename ProjectUtils to CacheUtils
gnodet 8ac204b
Avoid using deprecated class and fix NPE
gnodet 178f143
Fix DigestUtils log to stdout and use JDK8 lambda for thread local in…
gnodet ca53648
Merge SessionUtils and ZipUtils into CacheUtils
gnodet e9b633e
Inline Clock utility class, remove unused CacheUtils methods
gnodet cff3780
Avoid possible NPE if no build is defined in the pom
gnodet a928405
Use a LifecycleParticipant as they can be session scoped
gnodet c80847b
Cleanup
gnodet 03bc795
Remove empty lines after block start
gnodet db51f87
Merge branch 'deutschebank-MNG-7129/caching-support-core-changes-mast…
gnodet c095e55
MNG-7129: caching extension
andrey-petrenko-db 008fd60
MNG-7129: caching extension
andrey-petrenko-db 5065d8a
MNG-7129: caching extension
andrey-petrenko-db 82c445e
[MNG-7129] Cache extension test fix
c581c0d
MNG-7129: no need for a lazy initialization, prefer a final field
gnodet a0b14a8
MNG-7129: retrieve the hashFactory directly from the cache config
gnodet 240ca7b
Revert c581c0d5a1c567986f33510b174f64dcd4fdd6e6 as the projects are n…
gnodet 0d693e5
Minimize changes in maven-core
gnodet 0dc3db7
Use a lambda expression
gnodet f306fca
Do not include maven-caching in the distribution
gnodet f017965
Fix problems when restoring projects that do not have any packaged ar…
gnodet 806eb33
Add missing commons-lang3 dependency
gnodet 2157ad2
[MNG-7129] Remove redundant remote calls
1b7fee5
[MNG-7129] Restore artifacts from cache lazily (#614)
AlexanderAshitkin 6aeeea1
[MNG-7129] Rework http repo to java 8
a81aa53
Merge pull request #15 in ABFX/maven-forked from feature/http-repo-ja…
8b3b955
[MNG-7129] Rework http repo to java 8
271d915
Merge feature/http-repo-java8 to MNG-7129/master-db
e4a05db
MNG-7129: caching extension
andrey-petrenko-db 74cf06f
MNG-7129: caching extension
andrey-petrenko-db dba502f
Revert "[MNG-7336] Define a Feature for caching"
gnodet 3f09c81
MNG-7129: caching extension
andrey-petrenko-db f30ca4e
Ensure the extension can be used from the POM
gnodet bf02640
Add a wagon based provide to support mirror / proxy / authentication
gnodet 9cc0d92
Fix compilation
gnodet 535448d
Merge branch 'MNG-7129-master' of https://stash.gto.intranet.db.com:8…
316443f
Add a wagon based provide to support mirror / proxy / authentication
gnodet 8461793
[MNG-7129] Rework http repo to java 8 - update of wagon repo
cd22a77
[MNG-7129] Rework http repo to java 8 - update of wagon repo
e9caf56
Merge pull request #18 in ABFX/maven-forked from MNG-7129/master-db-m…
andrey-petrenko-db c73b5e2
Merge branch 'deutschebank-MNG-7129/master-db' into MNG-7129-master
gnodet 5bbff6c
Merge pull request #17 in ABFX/maven-forked from MNG-7129/master-db-s…
andrey-petrenko-db a9728bf
Merge remote-tracking branch 'origin/MNG-7129-master' into MNG-7129/m…
andrey-petrenko-db 9480798
MNG-7129: caching extension merge mng-7129-master
andrey-petrenko-db 4759c27
Avoid using an in-memory buffer when downloading artifacts as they ca…
gnodet 02fada0
Add a configurable id to the remote repository
gnodet b2e4577
Allow usage of an empty config file which provides local-cache only
gnodet 2c19c37
Make errors during downloads are reported during eagerly restoration …
gnodet 8ad2c84
Tone down errors during restoration
gnodet a35508a
Merge remote-tracking branch 'origin/MNG-7129-master' into MNG-7129/m…
andrey-petrenko-db d649bee
MNG-7129: caching extension merge mng-7129-master
andrey-petrenko-db 65bbe0b
MNG-7129: caching extension merge mng-7129-master
andrey-petrenko-db ead5595
MNG-7129: caching extension merge mng-7129-master
andrey-petrenko-db e6af0c3
MNG-7129: caching extension merge mng-7129-master
andrey-petrenko-db 06c86b3
MNG-7129: support project versions change and sub-tree build
andrey-petrenko-db 5efecfe
MNG-7129: support project versions change and sub-tree build
andrey-petrenko-db 391f9d0
MNG-7129: support project versions change and sub-tree build
andrey-petrenko-db 57e627a
Merge remote-tracking branch 'origin/master' into MNG-7129-master
gnodet 11e90b5
Merge branch 'deutschebank-MNG-7129/master-db-subtree-feature' into M…
gnodet bc3304a
Extract maven-caching
gnodet dc58d4b
Remove unwanted changes
gnodet File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
46 changes: 46 additions & 0 deletions
46
maven-core/src/main/java/org/apache/maven/plugin/DefaultMojosExecutionStrategy.java
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,46 @@ | ||
| package org.apache.maven.plugin; | ||
|
|
||
| /* | ||
| * Licensed to the Apache Software Foundation (ASF) under one | ||
| * or more contributor license agreements. See the NOTICE file | ||
| * distributed with this work for additional information | ||
| * regarding copyright ownership. The ASF licenses this file | ||
| * to you under the Apache License, Version 2.0 (the | ||
| * "License"); you may not use this file except in compliance | ||
| * with the License. You may obtain a copy of the License at | ||
| * | ||
| * http://www.apache.org/licenses/LICENSE-2.0 | ||
| * | ||
| * Unless required by applicable law or agreed to in writing, | ||
| * software distributed under the License is distributed on an | ||
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | ||
| * KIND, either express or implied. See the License for the | ||
| * specific language governing permissions and limitations | ||
| * under the License. | ||
| */ | ||
|
|
||
| import org.apache.maven.execution.MavenSession; | ||
| import org.apache.maven.lifecycle.LifecycleExecutionException; | ||
|
|
||
| import javax.inject.Named; | ||
| import javax.inject.Singleton; | ||
| import java.util.List; | ||
|
|
||
| /** | ||
| * Default mojo execution strategy. It just iterates over mojo executions and runs one by one | ||
| */ | ||
| @Named | ||
| @Singleton | ||
| public class DefaultMojosExecutionStrategy implements MojosExecutionStrategy | ||
| { | ||
| @Override | ||
| public void execute( List<MojoExecution> mojos, MavenSession session, MojoExecutionRunner mojoRunner ) | ||
| throws LifecycleExecutionException | ||
| { | ||
| for ( MojoExecution mojoExecution : mojos ) | ||
| { | ||
| mojoRunner.run( mojoExecution ); | ||
| } | ||
|
|
||
| } | ||
| } |
37 changes: 37 additions & 0 deletions
37
maven-core/src/main/java/org/apache/maven/plugin/MojoExecutionRunner.java
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,37 @@ | ||
| package org.apache.maven.plugin; | ||
|
|
||
| /* | ||
| * Licensed to the Apache Software Foundation (ASF) under one | ||
| * or more contributor license agreements. See the NOTICE file | ||
| * distributed with this work for additional information | ||
| * regarding copyright ownership. The ASF licenses this file | ||
| * to you under the Apache License, Version 2.0 (the | ||
| * "License"); you may not use this file except in compliance | ||
| * with the License. You may obtain a copy of the License at | ||
| * | ||
| * http://www.apache.org/licenses/LICENSE-2.0 | ||
| * | ||
| * Unless required by applicable law or agreed to in writing, | ||
| * software distributed under the License is distributed on an | ||
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | ||
| * KIND, either express or implied. See the License for the | ||
| * specific language governing permissions and limitations | ||
| * under the License. | ||
| */ | ||
|
|
||
| import org.apache.maven.lifecycle.LifecycleExecutionException; | ||
|
|
||
| /** | ||
| * Provides context for mojo execution. Invocation of #run will result in actual execution | ||
| */ | ||
| @FunctionalInterface | ||
| public interface MojoExecutionRunner | ||
| { | ||
| /** | ||
| * Runs mojo execution | ||
| * | ||
| * @param execution mojo execution | ||
| * @throws LifecycleExecutionException | ||
| */ | ||
| void run( MojoExecution execution ) throws LifecycleExecutionException; | ||
| } |
45 changes: 45 additions & 0 deletions
45
maven-core/src/main/java/org/apache/maven/plugin/MojosExecutionStrategy.java
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,45 @@ | ||
| package org.apache.maven.plugin; | ||
|
|
||
| /* | ||
| * Licensed to the Apache Software Foundation (ASF) under one | ||
| * or more contributor license agreements. See the NOTICE file | ||
| * distributed with this work for additional information | ||
| * regarding copyright ownership. The ASF licenses this file | ||
| * to you under the Apache License, Version 2.0 (the | ||
| * "License"); you may not use this file except in compliance | ||
| * with the License. You may obtain a copy of the License at | ||
| * | ||
| * http://www.apache.org/licenses/LICENSE-2.0 | ||
| * | ||
| * Unless required by applicable law or agreed to in writing, | ||
| * software distributed under the License is distributed on an | ||
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | ||
| * KIND, either express or implied. See the License for the | ||
| * specific language governing permissions and limitations | ||
| * under the License. | ||
| */ | ||
|
|
||
| import org.apache.maven.execution.MavenSession; | ||
| import org.apache.maven.lifecycle.LifecycleExecutionException; | ||
|
|
||
| import java.util.List; | ||
|
|
||
| /** | ||
| * Interface allows overriding default mojo execution strategy For example it is possible wrap some mojo execution to | ||
| * decorate default functionality or skip some executions | ||
| */ | ||
| public interface MojosExecutionStrategy | ||
| { | ||
|
|
||
| /** | ||
| * Entry point to the execution strategy | ||
| * | ||
| * @param mojos list of mojos representing a project build | ||
| * @param session current session | ||
| * @param mojoExecutionRunner mojo execution task which must be invoked by a strategy to actually run it | ||
| * @throws LifecycleExecutionException | ||
| */ | ||
| void execute( List<MojoExecution> mojos, MavenSession session, MojoExecutionRunner mojoExecutionRunner ) | ||
| throws LifecycleExecutionException; | ||
|
|
||
| } |
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
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
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
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.
Uh oh!
There was an error while loading. Please reload this page.