Comments (9)
@rohanKanojia can i pick this up?
from jkube.
@rohanKanojia this null check is needed , consider when you dont have currDir then you create it as new File(System.getProperty("basedir", ".")) by default then here this parameter is not at all needed, and if in case its null and we dont create default we will end up with NPE on line 53 while we try to find gitfolder without checking null in first place.
so its always good to do defensive programming and its better to validate all preconditions here, let me know what do you think about it?
from jkube.
Hi @rohanKanojia I can help with this issue. :p
from jkube.
@clarenced : Thanks, please see Marc's comment #2711 (comment) for idea of what needs to be done.
from jkube.
After some investigation, the method GitUtil.getGitRepository
is called in 2 places :
from GItEnricher
(L 54)
try (Repository repository = GitUtil.getGitRepository(getContext().getProjectDirectory())) {
...
}
and also from BaseGenerator
(L272)
Repository repository = GitUtil.getGitRepository(project.getBaseDirectory());
Is there any situation where project.getBaseDirectory()
or getContext().getProjectDirectory()
can return null ? If it's not the case, we can safely remove the null-check.
from jkube.
its always good to do defensive programming and its better to validate all preconditions here
You're right about this. This might be an issue if this utility class is used by users using jkube-kit
as a direct dependency. However, at the moment I'm not sure there are users are using jkube-kit
as a direct dependency. In our codebase we use it only in two places, JavaProject's base directory seems to be set always from maven and gradle plugin apis.
from jkube.
However, at the moment I'm not sure there are users are using jkube-kit as a direct dependency.
Then we might want to throw an exception instead. Objects.requireNonNull or something like that.
from jkube.
@manusa yes that would be the ideal way. ok will raise an PR
from jkube.
@ajayl83 : polite ping, are you still working on this? If not, could you please unassign?
from jkube.
Related Issues (20)
- [OpenShift Maven Plugin] : Move duplicated methods in Mojos to a common interface HOT 2
- JavaExecGenerator does not honor %t setting HOT 4
- How can I use the org.eclipse.jkube.kubernetes plugin in Gradle Kotlin DSL? HOT 6
- DockerImageWatcherRestartContainerTest : Replace AssertJ's deprecated `asList()` DSL method with `asInstanceOf(InstanceOfAssertFactories.list(type.class))` HOT 1
- WildflyJARHealthCheckEnricherTest : Replace AssertJ's deprecated `asList()` DSL method with `asInstanceOf(InstanceOfAssertFactories.list(type.class))` HOT 1
- SpringBootWatcherIntegrationTest is failing on windows HOT 1
- BuildService : Replace outdated method for joining strings with inbuilt `String.join` HOT 8
- OpenShiftResourceMojoTest is failing on Windows due to use of `\n` as line separator HOT 4
- Remove workaround from KubernetesMockServerUtil once issue is fixed in KubernetesMockServer
- Replace deprecated method from Updatable interface HOT 2
- Incompatible descriptor's return type: ProcessorConfig HOT 4
- BuildOptions 'buildArgs.size() > 0' can be replaced with '!buildArgs.isEmpty()'
- BuildService 'nocache.length() == 0' can be replaced with 'nocache.isEmpty()'
- CommandLine 'toProcess.length() == 0' can be replaced with 'toProcess.isEmpty()'
- DockerFileBuilderTest 'line.trim().length() == 0' can be replaced with 'line.trim().isEmpty()'
- GoTimeUtil 'duration.length() == 0' can be replaced with 'duration.isEmpty()' HOT 1
- ImageChangeTriggerEnricher 'containerToImageMap.size() != 0' can be replaced with '!containerToImageMap.isEmpty()' HOT 3
- Remove duplicate dependency from `quickstarts/maven/micronaut4` `pom.xml` HOT 1
- `KubernetesHelperTest.exportKubernetesClientConfigToFile_worksWithKubernetesMockServer` is failing on windows HOT 1
- fix failing unit tests in `gradle-plugin/openshift` module HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jkube.