mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
problem with suggesting patch when eap channel and release channel builds are available
This commit is contained in:
@@ -101,9 +101,13 @@ public class BuildInfo implements Comparable<BuildInfo> {
|
||||
|
||||
@Nullable
|
||||
public PatchInfo findPatchForCurrentBuild() {
|
||||
BuildNumber currentBuild = ApplicationInfo.getInstance().getBuild();
|
||||
return findPatchForBuild(ApplicationInfo.getInstance().getBuild());
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public PatchInfo findPatchForBuild(BuildNumber currentBuild) {
|
||||
for (PatchInfo each : myPatches) {
|
||||
if (each.isAvailable() && each.getFromBuild().asStringWithoutProductCode().equals(currentBuild.asStringWithoutProductCode()))
|
||||
if (each.isAvailable() && each.getFromBuild().asStringWithoutProductCode().equals(currentBuild.asStringWithoutProductCode()))
|
||||
return each;
|
||||
}
|
||||
return null;
|
||||
|
||||
+5
-1
@@ -89,7 +89,11 @@ public class UpdateStrategy {
|
||||
for (UpdateChannel channel : channels) {
|
||||
if ((channel.getMajorVersion() == myMajorVersion && channel.getStatus().compareTo(myChannelStatus) >= 0) ||
|
||||
(channel.getMajorVersion() > myMajorVersion && channel.getStatus() == ChannelStatus.EAP && myChannelStatus == ChannelStatus.EAP)) {
|
||||
result.add(channel);
|
||||
if (channel.getMajorVersion() == myMajorVersion && channel.getStatus().compareTo(myChannelStatus) == 0) {
|
||||
result.add(0, channel); // prefer channel that has same status as our selected channel status
|
||||
} else {
|
||||
result.add(channel);
|
||||
}
|
||||
}
|
||||
}
|
||||
return result;
|
||||
|
||||
@@ -116,4 +116,16 @@ public class UpdateStrategyTest extends TestCase {
|
||||
Assert.assertEquals("IDEA10EAP", newChannel.getId());
|
||||
Assert.assertEquals("IntelliJ IDEA X EAP", newChannel.getName());
|
||||
}
|
||||
|
||||
public void testChannelWithCurrentStatusPreferred() {
|
||||
final TestUpdateSettings settings = new TestUpdateSettings(ChannelStatus.EAP);
|
||||
|
||||
BuildNumber currentBuild = BuildNumber.fromString("IU-139.658");
|
||||
UpdateStrategy strategy = new UpdateStrategy(14, currentBuild, UpdatesInfoXppParserTest.InfoReader.read("idea-patchAvailable.xml"), settings);
|
||||
|
||||
final CheckForUpdateResult result = strategy.checkForUpdates();
|
||||
Assert.assertEquals(UpdateStrategy.State.LOADED, result.getState());
|
||||
Assert.assertEquals(result.getUpdatedChannel().getStatus(), ChannelStatus.EAP);
|
||||
Assert.assertNotNull(result.getNewBuildInSelectedChannel().findPatchForBuild(currentBuild));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
<products>
|
||||
<product name="IntelliJ IDEA">
|
||||
<code>IU</code>
|
||||
<code>IC</code>
|
||||
|
||||
<channel id="IDEA14" name="IntelliJ IDEA 14" status="release"
|
||||
url="http://www.jetbrains.com/idea/download"
|
||||
feedback="http://youtrack.jetbrains.net"
|
||||
majorVersion="14">
|
||||
<build number="139.659" version="14.0.2" releaseDate="20141103">
|
||||
<message>IntelliJ IDEA 14.0.2 build 139.659 is available.</message>
|
||||
<button name="Download" url="http://www.jetbrains.com/idea/download" download="true"/>
|
||||
<button name="What's New" url="http://www.jetbrains.com/idea/whatsnew/index.html"/>
|
||||
<button name="Release Notes" url="http://confluence.jetbrains.com/display/IDEADEV/IntelliJ+IDEA+14.0.2+Release+Notes"/>
|
||||
<patch from="139.224" size="30" />
|
||||
<patch from="139.225" size="30" />
|
||||
</build>
|
||||
</channel>
|
||||
|
||||
<channel id="IDEA_14_EAP" name="IntelliJ IDEA 14 EAP" status="eap"
|
||||
url="http://confluence.jetbrains.com/display/IDEADEV/IDEA+14+EAP"
|
||||
feedback="http://youtrack.jetbrains.net"
|
||||
majorVersion="14">
|
||||
<build number="139.659" version="14.0.2" releaseDate="20141103">
|
||||
<message>IntelliJ IDEA 14.0.2 build 139.659 is available.</message>
|
||||
<button name="Download" url="http://confluence.jetbrains.com/display/IDEADEV/IDEA+14+EAP" download="true"/>
|
||||
<button name="Release Notes" url="http://confluence.jetbrains.com/display/IDEADEV/IntelliJ+IDEA+14+139.659.2+Release+Notes"/>
|
||||
<patch from="139.658" size="10" />
|
||||
<patch from="139.224" size="30" />
|
||||
<patch from="139.225" size="30" />
|
||||
</build>
|
||||
</channel>
|
||||
|
||||
</product>
|
||||
|
||||
|
||||
</products>
|
||||
Reference in New Issue
Block a user